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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions