diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c23799..61ccc64 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,6 +36,8 @@ jobs: variant: alpine3.20 - name: alpine3.21 variant: alpine3.21 + - name: alpine3.22 + variant: alpine3.22 #VERSIONS name: ${{ matrix.name }} steps: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 2c8731f..cf77348 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -53,6 +53,11 @@ jobs: platforms: linux/amd64,linux/arm64 tags: | nightly-alpine3.21 + - name: alpine3.22 + context: nightly/alpine3.22 + platforms: linux/amd64,linux/arm64 + tags: | + nightly-alpine3.22 nightly-alpine #VERSIONS name: ${{ matrix.name }} diff --git a/nightly/alpine3.22/Dockerfile b/nightly/alpine3.22/Dockerfile new file mode 100644 index 0000000..66e0480 --- /dev/null +++ b/nightly/alpine3.22/Dockerfile @@ -0,0 +1,30 @@ +FROM alpine:3.22 + +LABEL org.opencontainers.image.source=https://github.com/rust-lang/docker-rust + +RUN apk add --no-cache \ + ca-certificates \ + gcc + +ENV RUSTUP_HOME=/usr/local/rustup \ + CARGO_HOME=/usr/local/cargo \ + PATH=/usr/local/cargo/bin:$PATH \ + RUST_VERSION=nightly + +RUN set -eux; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + x86_64) rustArch='x86_64-unknown-linux-musl'; rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2' ;; \ + aarch64) rustArch='aarch64-unknown-linux-musl'; rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9' ;; \ + *) echo >&2 "unsupported architecture: $apkArch"; exit 1 ;; \ + esac; \ + url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ + wget "$url"; \ + echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + chmod +x rustup-init; \ + ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ + rm rustup-init; \ + chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + rustup --version; \ + cargo --version; \ + rustc --version; diff --git a/stable/alpine3.22/Dockerfile b/stable/alpine3.22/Dockerfile new file mode 100644 index 0000000..5f059f7 --- /dev/null +++ b/stable/alpine3.22/Dockerfile @@ -0,0 +1,30 @@ +FROM alpine:3.22 + +LABEL org.opencontainers.image.source=https://github.com/rust-lang/docker-rust + +RUN apk add --no-cache \ + ca-certificates \ + gcc + +ENV RUSTUP_HOME=/usr/local/rustup \ + CARGO_HOME=/usr/local/cargo \ + PATH=/usr/local/cargo/bin:$PATH \ + RUST_VERSION=1.87.0 + +RUN set -eux; \ + apkArch="$(apk --print-arch)"; \ + case "$apkArch" in \ + x86_64) rustArch='x86_64-unknown-linux-musl'; rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2' ;; \ + aarch64) rustArch='aarch64-unknown-linux-musl'; rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9' ;; \ + *) echo >&2 "unsupported architecture: $apkArch"; exit 1 ;; \ + esac; \ + url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ + wget "$url"; \ + echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ + chmod +x rustup-init; \ + ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ + rm rustup-init; \ + chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ + rustup --version; \ + cargo --version; \ + rustc --version; diff --git a/x.py b/x.py index a242ccf..19d821a 100755 --- a/x.py +++ b/x.py @@ -49,9 +49,10 @@ alpine_versions = [ "3.20", "3.21", + "3.22", ] -default_alpine_version = "3.21" +default_alpine_version = "3.22" def rustup_hash(arch): url = f"https://static.rust-lang.org/rustup/archive/{rustup_version}/{arch}/rustup-init.sha256"