Skip to content

[lib/rust] Using Cross fails with certain platforms #64

@jmgilman

Description

@jmgilman

Example target: aarch64-apple-darwin

Produces:

              +build | failed: pull: resolve image config for ghcr.io/cross-rs/aarch64-apple-darwin:0.2.5: failed to authorize: failed to fetch anonymous token: unexpected status from GET request to https://ghcr.io/token?scope=repository%3Across-rs%2Faarch64-apple-darwin%3Apull&service=ghcr.io: 403 Forbidden
Error: Earthfile:42:2 copy artifact: apply build +build: earthfile2llb for +build: /tmp/earthly-git3082701759/Earthfile:126:8 with docker run: pull: resolve image config for ghcr.io/cross-rs/aarch64-apple-darwin:0.2.5: failed to authorize: failed to fetch anonymous token: unexpected status from GET request to https://ghcr.io/token?scope=repository%3Across-rs%2Faarch64-apple-darwin%3Apull&service=ghcr.io: 403 Forbidden

The 403 is misleading, as the image itself doesn't exist. The GHCR repo being pulled from has a limited selection of targets available and is seems to only be for Linux. The reason for this is documented in the README and concerns licensing issues.

Of course, I could be misunderstanding how this is supposed to work, but regardless it appears the current implementation will fail like this when using non-linux targets.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions