|
1 | 1 | # always build this using the latest stable release |
2 | | -FROM rust:1.88.0 AS build-base |
| 2 | +FROM rust:1.93.0 AS build-base |
3 | 3 |
|
4 | 4 | ARG JQ_VERSION=1.6 |
5 | 5 | ARG JQ_URL=https://github.com/stedolan/jq/releases/download/jq-${JQ_VERSION}/jq-linux64 |
@@ -48,51 +48,84 @@ RUN cargo generate-lockfile && cargo local-registry --sync Cargo.lock . |
48 | 48 | # version tag with a nightly one, pinned to a specific date. |
49 | 49 |
|
50 | 50 | # official Dockerfile source: |
51 | | -# https://github.com/rust-lang/docker-rust/blob/master/stable/bookworm/slim/Dockerfile |
| 51 | +# https://github.com/rust-lang/docker-rust/blob/master/stable/trixie/slim/Dockerfile |
52 | 52 |
|
53 | 53 | ################ start-copy-pasta ################ |
54 | 54 |
|
55 | | -FROM debian:bookworm-slim |
| 55 | +FROM debian:trixie-slim |
| 56 | + |
| 57 | +LABEL org.opencontainers.image.source=https://github.com/rust-lang/docker-rust |
56 | 58 |
|
57 | 59 | ENV RUSTUP_HOME=/usr/local/rustup \ |
58 | 60 | CARGO_HOME=/usr/local/cargo \ |
59 | 61 | PATH=/usr/local/cargo/bin:$PATH \ |
60 | | - RUST_VERSION=nightly-2025-06-28 |
| 62 | + RUST_VERSION=nightly-2026-01-22 |
61 | 63 | # ~~~~~~~~^~~~~~~~~~ |
62 | 64 | # pin version here |
63 | 65 |
|
64 | 66 | RUN set -eux; \ |
| 67 | + \ |
65 | 68 | apt-get update; \ |
66 | 69 | apt-get install -y --no-install-recommends \ |
67 | 70 | ca-certificates \ |
68 | 71 | gcc \ |
69 | 72 | libc6-dev \ |
70 | 73 | wget \ |
71 | 74 | ; \ |
72 | | - dpkgArch="$(dpkg --print-architecture)"; \ |
73 | | - case "${dpkgArch##*-}" in \ |
74 | | - amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c' ;; \ |
75 | | - armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61' ;; \ |
76 | | - arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c' ;; \ |
77 | | - i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f' ;; \ |
78 | | - ppc64el) rustArch='powerpc64le-unknown-linux-gnu'; rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0' ;; \ |
79 | | - s390x) rustArch='s390x-unknown-linux-gnu'; rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572' ;; \ |
80 | | - *) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \ |
| 75 | + \ |
| 76 | + arch="$(dpkg --print-architecture)"; \ |
| 77 | + case "$arch" in \ |
| 78 | + 'amd64') \ |
| 79 | + rustArch='x86_64-unknown-linux-gnu'; \ |
| 80 | + rustupSha256='20a06e644b0d9bd2fbdbfd52d42540bdde820ea7df86e92e533c073da0cdd43c'; \ |
| 81 | + ;; \ |
| 82 | + 'armhf') \ |
| 83 | + rustArch='armv7-unknown-linux-gnueabihf'; \ |
| 84 | + rustupSha256='3b8daab6cc3135f2cd4b12919559e6adaee73a2fbefb830fadf0405c20231d61'; \ |
| 85 | + ;; \ |
| 86 | + 'arm64') \ |
| 87 | + rustArch='aarch64-unknown-linux-gnu'; \ |
| 88 | + rustupSha256='e3853c5a252fca15252d07cb23a1bdd9377a8c6f3efa01531109281ae47f841c'; \ |
| 89 | + ;; \ |
| 90 | + 'i386') \ |
| 91 | + rustArch='i686-unknown-linux-gnu'; \ |
| 92 | + rustupSha256='a5db2c4b29d23e9b318b955dd0337d6b52e93933608469085c924e0d05b1df1f'; \ |
| 93 | + ;; \ |
| 94 | + 'ppc64el') \ |
| 95 | + rustArch='powerpc64le-unknown-linux-gnu'; \ |
| 96 | + rustupSha256='acd89c42b47c93bd4266163a7b05d3f26287d5148413c0d47b2e8a7aa67c9dc0'; \ |
| 97 | + ;; \ |
| 98 | + 's390x') \ |
| 99 | + rustArch='s390x-unknown-linux-gnu'; \ |
| 100 | + rustupSha256='726b7fd5d8805e73eab4a024a2889f8859d5a44e36041abac0a2436a52d42572'; \ |
| 101 | + ;; \ |
| 102 | + 'riscv64') \ |
| 103 | + rustArch='riscv64gc-unknown-linux-gnu'; \ |
| 104 | + rustupSha256='09e64cc1b7a3e99adaa15dd2d46a3aad9d44d71041e2a96100d165c98a8fd7a7'; \ |
| 105 | + ;; \ |
| 106 | + *) \ |
| 107 | + echo >&2 "unsupported architecture: $arch"; \ |
| 108 | + exit 1; \ |
| 109 | + ;; \ |
81 | 110 | esac; \ |
| 111 | + \ |
82 | 112 | url="https://static.rust-lang.org/rustup/archive/1.28.2/${rustArch}/rustup-init"; \ |
83 | | - wget "$url"; \ |
| 113 | + wget --progress=dot:giga "$url"; \ |
84 | 114 | echo "${rustupSha256} *rustup-init" | sha256sum -c -; \ |
| 115 | + \ |
85 | 116 | chmod +x rustup-init; \ |
86 | 117 | ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; \ |
87 | 118 | rm rustup-init; \ |
88 | 119 | chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \ |
89 | | - rustup --version; \ |
90 | | - cargo --version; \ |
91 | | - rustc --version; \ |
| 120 | + \ |
92 | 121 | apt-get remove -y --auto-remove \ |
93 | 122 | wget \ |
94 | 123 | ; \ |
95 | | - rm -rf /var/lib/apt/lists/*; |
| 124 | + rm -rf /var/lib/apt/lists/*; \ |
| 125 | + \ |
| 126 | + rustup --version; \ |
| 127 | + cargo --version; \ |
| 128 | + rustc --version; |
96 | 129 |
|
97 | 130 | ################ end-copy-pasta ################ |
98 | 131 |
|
|
0 commit comments