cross-rs / cross

“Zero setup” cross compilation and “cross testing” of Rust crates
Apache License 2.0
6.21k stars 354 forks source link

Are ghcr.io/cross-rs/... Docker images still being updated (last update 2022)? #1493

Closed brocaar closed 1 month ago

brocaar commented 1 month ago

Looking at https://github.com/orgs/cross-rs/packages, it seems the Docker images haven't been updated since 2022, which is quite some time ago. At the same time, when looking at the Docker files (https://github.com/cross-rs/cross/tree/main/docker) there have been recent changes.

Some context:

I noticed that different targets were being built against different library versions. Looking at the images that I am using, I noticed these were based on different base images, which explains why the library versions are different:

$ docker pull ghcr.io/cross-rs/aarch64-unknown-linux-musl:latest
latest: Pulling from cross-rs/aarch64-unknown-linux-musl
Digest: sha256:702154f52b2d8091671aa2c84d5582d849f949977228c735ff8462f93cc0e1e4
Status: Image is up to date for ghcr.io/cross-rs/aarch64-unknown-linux-musl:latest
ghcr.io/cross-rs/aarch64-unknown-linux-musl:latest

$ docker pull ghcr.io/cross-rs/armv7-unknown-linux-musleabihf:latest
latest: Pulling from cross-rs/armv7-unknown-linux-musleabihf
Digest: sha256:b4f481f30ceca34730a5723f717396d762d94f6eddd7e1cf7c7862d1377ff98c
Status: Image is up to date for ghcr.io/cross-rs/armv7-unknown-linux-musleabihf:latest
ghcr.io/cross-rs/armv7-unknown-linux-musleabihf:latest

$ docker pull ghcr.io/cross-rs/x86_64-unknown-linux-musl:latest
latest: Pulling from cross-rs/x86_64-unknown-linux-musl
Digest: sha256:77db671d8356a64ae72a3e1415e63f547f26d374fbe3c4762c1cd36c7eac7b99
Status: Image is up to date for ghcr.io/cross-rs/x86_64-unknown-linux-musl:latest
ghcr.io/cross-rs/x86_64-unknown-linux-musl:latest

$ docker run --rm -it ghcr.io/cross-rs/aarch64-unknown-linux-musl:latest cat /etc/debian_version
buster/sid

$ docker run --rm -it ghcr.io/cross-rs/armv7-unknown-linux-musleabihf:latest cat /etc/debian_version
bullseye/sid

$ docker run --rm -it ghcr.io/cross-rs/x86_64-unknown-linux-musl:latest cat /etc/debian_version
bullseye/sid

Looking at the related Docker files, they should all use the same base image:

Emilgardis commented 1 month ago

Yes, the "published xxx" is just how github presents it, it's not when the image was updated. You'll have to look at the individual tags to see when they were updated.

take https://github.com/cross-rs/cross/pkgs/container/armv7-unknown-linux-musleabihf for example

image

See https://github.com/cross-rs/cross/discussions/1290 for a new release 0.3.0.

As to the mismatch on debian versions, they are different because of what was supported at the time.

So, don't use latest if you want the images as they are currently on the main branch, use :main or :edge

Emilgardis commented 1 month ago

one other note, the debian versions can mismatch due to https://github.com/cross-rs/cross/blob/main/docker/linux-image.sh too

brocaar commented 1 month ago

Hi @Emilgardis , thanks for your quick response and explanation.

I think I was confused by two things:

Changing :latest to :main is indeed the solution for my issue.

Thanks again for your help and this great project :+1: