88 tags :
99 - ' v*'
1010
11+ permissions :
12+ contents : read
13+
1114env :
12- DEFAULT_BASE_IMAGE : ' debian:12-slim'
13- LATEST_DEBIAN_BASE_IMAGE : ' debian:12'
14- LATEST_DEBIAN_SLIM_BASE_IMAGE : ' debian:12-slim'
15- LATEST_UBUNTU_BASE_IMAGE : ' ubuntu:24.04'
15+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 : ' true'
16+ DEFAULT_BASE_IMAGE : ' debian:13-slim'
17+ LATEST_DEBIAN_BASE_IMAGE : ' debian:13'
18+ LATEST_DEBIAN_SLIM_BASE_IMAGE : ' debian:13-slim'
19+ LATEST_UBUNTU_BASE_IMAGE : ' ubuntu:25.10'
1620 LATEST_AMAZON_BASE_IMAGE : ' public.ecr.aws/amazonlinux/amazonlinux:2023'
17- LATEST_ALPINE_BASE_IMAGE : ' frolvlad/alpine-glibc:alpine-3.20 '
18- LATEST_CUDA_BASE_IMAGE : ' nvidia/cuda:12.6.0 -base-ubuntu24.04'
21+ LATEST_ALPINE_BASE_IMAGE : ' frolvlad/alpine-glibc:alpine-3.22 '
22+ LATEST_CUDA_BASE_IMAGE : ' nvidia/cuda:13.0.2 -base-ubuntu24.04'
1923
2024jobs :
2125 build_docker_image_and_push :
2226 if : github.repository == 'mamba-org/micromamba-docker'
2327 runs-on : ubuntu-24.04
28+ permissions :
29+ packages : write
2430 strategy :
2531 matrix :
2632 image :
33+ - debian:13-slim
34+ - debian:13
2735 - debian:12-slim
2836 - debian:12
29- - debian:11-slim
30- - debian:11
37+ - ubuntu:25.10
3138 - ubuntu:24.04
3239 - ubuntu:22.04
33- - ubuntu:20.04
34- - frolvlad/alpine-glibc:alpine-3.20
35- - frolvlad/alpine-glibc:alpine-3.19
36- - frolvlad/alpine-glibc:alpine-3.18
37- - frolvlad/alpine-glibc:alpine-3.17
40+ - frolvlad/alpine-glibc:alpine-3.22
41+ - frolvlad/alpine-glibc:alpine-3.21
3842 - public.ecr.aws/amazonlinux/amazonlinux:2023
39- - nvidia/cuda:12.6.0-base-ubuntu24.04
40- - nvidia/cuda:12.6.0-base-ubuntu22.04
41- - nvidia/cuda:12.6.0-base-ubuntu20.04
43+ - nvidia/cuda:13.0.2-base-ubuntu24.04
44+ - nvidia/cuda:13.0.2-base-ubuntu22.04
45+ - nvidia/cuda:12.9.1-base-ubuntu24.04
46+ - nvidia/cuda:12.9.1-base-ubuntu22.04
47+ - nvidia/cuda:12.8.1-base-ubuntu24.04
48+ - nvidia/cuda:12.8.1-base-ubuntu22.04
49+ - nvidia/cuda:12.6.3-base-ubuntu24.04
50+ - nvidia/cuda:12.6.3-base-ubuntu22.04
4251 - nvidia/cuda:12.5.1-base-ubuntu24.04
4352 - nvidia/cuda:12.5.1-base-ubuntu22.04
44- - nvidia/cuda:12.5.1-base-ubuntu20.04
4553 - nvidia/cuda:12.4.1-base-ubuntu22.04
46- - nvidia/cuda:12.4.1-base-ubuntu20.04
4754 - nvidia/cuda:12.3.2-base-ubuntu22.04
48- - nvidia/cuda:12.3.2-base-ubuntu20.04
4955 - nvidia/cuda:12.2.2-base-ubuntu22.04
50- - nvidia/cuda:12.2.2-base-ubuntu20.04
5156 - nvidia/cuda:12.1.1-base-ubuntu22.04
52- - nvidia/cuda:12.1.1-base-ubuntu20.04
5357 - nvidia/cuda:11.8.0-base-ubuntu22.04
54- - nvidia/cuda:11.8.0-base-ubuntu20.04
5558 - nvidia/cuda:11.7.1-base-ubuntu22.04
56- - nvidia/cuda:11.7.1-base-ubuntu20.04
57- - nvidia/cuda:11.6.2-base-ubuntu20.04
58- - nvidia/cuda:11.4.3-base-ubuntu20.04
5959 steps :
60- - name : Install GNU parallel, shellcheck, and apptainer
60+ - name : Install GNU parallel, shellcheck
6161 run : |
62- sudo add-apt-repository -y ppa:apptainer/ppa
6362 sudo apt update
64- sudo apt-get install --no-install-recommends -y parallel shellcheck software-properties-common apptainer
63+ sudo apt-get install --no-install-recommends -y parallel shellcheck software-properties-common
6564 - name : Setup nox
66- uses : wntrblm/nox@5656fcedc31a1ea37d016e4d94d00185330cc528
65+ uses : wntrblm/nox@0eee2e45758dbd06d48ebb23476439f0f00e5cbd
6766 - name : Checkout source
68- uses : actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
67+ uses : actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
6968 with :
69+ persist-credentials : false
7070 submodules : recursive
7171 - name : Get short git hash
7272 id : short_hash
9191 echo 'distro_id=alpine' >> $GITHUB_OUTPUT
9292 alpine_version_number="${base_tag##alpine-}"
9393 echo "tag=alpine${alpine_version_number}" >> $GITHUB_OUTPUT
94- echo 'platforms=linux/amd64' >> $GITHUB_OUTPUT
94+ echo 'platforms=linux/amd64,linux/arm64 ' >> $GITHUB_OUTPUT
9595 elif [ "${base_name}" = 'public.ecr.aws/amazonlinux/amazonlinux' ]; then
96- echo 'distro_id=amzn ' >> $GITHUB_OUTPUT
96+ echo 'distro_id=fedora ' >> $GITHUB_OUTPUT
9797 echo "tag=amazon${base_tag}" >> $GITHUB_OUTPUT
9898 echo 'platforms=linux/amd64,linux/arm64' >> $GITHUB_OUTPUT
9999 elif [ "${base_name}" = 'ubuntu' ]; then
@@ -102,26 +102,30 @@ jobs:
102102 echo 'platforms=linux/amd64,linux/arm64,linux/ppc64le' >> $GITHUB_OUTPUT
103103 else
104104 echo 'distro_id=debian' >> $GITHUB_OUTPUT
105- echo "tag=${base_name}" >> $GITHUB_OUTPUT
106- echo 'platforms=linux/amd64,linux/arm64,linux/ppc64le' >> $GITHUB_OUTPUT
105+ echo "tag=debian${base_tag}" >> $GITHUB_OUTPUT
106+ if [ "${base_tag}" = '11' ] || [ "${base_tag}" = '11-slim' ]; then
107+ echo 'platforms=linux/amd64,linux/arm64' >> $GITHUB_OUTPUT
108+ else
109+ echo 'platforms=linux/amd64,linux/arm64,linux/ppc64le' >> $GITHUB_OUTPUT
110+ fi
107111 fi
108112 echo "is_default=$([ "$BASE_IMAGE" = "$DEFAULT_BASE_IMAGE" ] \
109113 && echo true || echo false)" >> $GITHUB_OUTPUT
110- echo "is_latest_alpine=$([ "$IMAGE " = "$LATEST_ALPINE_BASE_IMAGE" ] \
114+ echo "is_latest_alpine=$([ "$BASE_IMAGE " = "$LATEST_ALPINE_BASE_IMAGE" ] \
111115 && echo true || echo false)" >> $GITHUB_OUTPUT
112- echo "is_latest_debian=$([ "$IMAGE " = "$LATEST_DEBIAN_BASE_IMAGE" ] \
116+ echo "is_latest_debian=$([ "$BASE_IMAGE " = "$LATEST_DEBIAN_BASE_IMAGE" ] \
113117 && echo true || echo false)" >> $GITHUB_OUTPUT
114- echo "is_latest_debian_slim=$([ "$IMAGE " = "$LATEST_DEBIAN_SLIM_BASE_IMAGE" ] \
118+ echo "is_latest_debian_slim=$([ "$BASE_IMAGE " = "$LATEST_DEBIAN_SLIM_BASE_IMAGE" ] \
115119 && echo true || echo false)" >> $GITHUB_OUTPUT
116- echo "is_latest_ubuntu=$([ "$IMAGE " = "$LATEST_UBUNTU_BASE_IMAGE" ] \
120+ echo "is_latest_ubuntu=$([ "$BASE_IMAGE " = "$LATEST_UBUNTU_BASE_IMAGE" ] \
117121 && echo true || echo false)" >> $GITHUB_OUTPUT
118- echo "is_latest_amazon=$([ "$IMAGE " = "$LATEST_AMAZON_BASE_IMAGE" ] \
122+ echo "is_latest_amazon=$([ "$BASE_IMAGE " = "$LATEST_AMAZON_BASE_IMAGE" ] \
119123 && echo true || echo false)" >> $GITHUB_OUTPUT
120- echo "is_latest_cuda=$([ "$IMAGE " = "$LATEST_CUDA_BASE_IMAGE" ] \
124+ echo "is_latest_cuda=$([ "$BASE_IMAGE " = "$LATEST_CUDA_BASE_IMAGE" ] \
121125 && echo true || echo false)" >> $GITHUB_OUTPUT
122126 - name : Get stage1 docker metadata
123127 id : get_stage1_metadata
124- uses : docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81
128+ uses : docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893
125129 with :
126130 images : |
127131 ghcr.io/mamba-org/micromamba-cache/stage1
@@ -130,7 +134,7 @@ jobs:
130134 type=raw,value=${{ steps.set_image_variables.outputs.tag }}
131135 - name : Get docker metadata
132136 id : get_metadata
133- uses : docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81
137+ uses : docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893
134138 with :
135139 images : |
136140 mambaorg/micromamba
@@ -150,15 +154,14 @@ jobs:
150154 # major
151155 # major.minor.patch-base_image
152156 # major.minor-base_image
153- # major-base_image
154- # git-commit-base_image
157+ # major-base_imag git-commit-base_image
155158 # git-commit
156159 tags : |
157160 type=raw,value=latest,priority=1000,enable=${{ steps.set_image_variables.outputs.is_default }}
158161 type=raw,value=${{ steps.set_image_variables.outputs.tag }},priority=900
159162 type=raw,value=alpine,priority=850,enable=${{ steps.set_image_variables.outputs.is_latest_alpine }}
160163 type=raw,value=debian,priority=850,enable=${{ steps.set_image_variables.outputs.is_latest_debian }}
161- type=raw,value=debian-slim,priority=850,enable=${{ steps.set_image_variables.outputs.is_latest_debian-slim }}
164+ type=raw,value=debian-slim,priority=850,enable=${{ steps.set_image_variables.outputs.is_latest_debian_slim }}
162165 type=raw,value=ubuntu,priority=850,enable=${{ steps.set_image_variables.outputs.is_latest_ubuntu }}
163166 type=raw,value=amazon,priority=850,enable=${{ steps.set_image_variables.outputs.is_latest_amazon }}
164167 type=raw,value=cuda,priority=850,enable=${{ steps.set_image_variables.outputs.is_latest_cuda }}
@@ -173,25 +176,25 @@ jobs:
173176 labels : |
174177 distro_id=${{ steps.set_image_variables.outputs.distro_id }}
175178 - name : Setup docker buildx
176- uses : docker/setup-buildx-action@c47758b77c9736f4b2ef4073d4d51994fabfe349
179+ uses : docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435
177180 - name : Login to DockerHub
178- uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
181+ uses : docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef
179182 with :
180183 username : ${{ secrets.DOCKERHUB_USERNAME }}
181184 password : ${{ secrets.DOCKERHUB_TOKEN }}
182185 - name : Login to GHCR
183- uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
186+ uses : docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef
184187 with :
185188 registry : ghcr.io
186189 username : ${{ github.repository_owner }}
187190 password : ${{ secrets.GITHUB_TOKEN }}
188191 - name : Build Docker images but do not push them yet
189192 id : docker_build
190- uses : docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75
193+ uses : docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83
191194 env :
192195 DOCKER_BUILD_RECORD_UPLOAD : false
193196 with :
194- dockerfile : ${{ steps.set_image_variables.outputs.distro_id }}.Dockerfile
197+ file : ${{ steps.set_image_variables.outputs.distro_id }}.Dockerfile
195198 platforms : ${{ steps.set_image_variables.outputs.platforms }}
196199 push : false
197200 build-args : |
@@ -206,9 +209,9 @@ jobs:
206209 run : nox -s "image_tests(base_image='${IMAGE}')"
207210 - name : Push stage1 Docker images
208211 id : docker_stage1_push
209- uses : docker/build-push-action@35434f557ad77672899d67f7992fb5560bda1071
212+ uses : docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83
210213 with :
211- dockerfile : ${{ steps.set_image_variables.outputs.distro_id }}.Dockerfile
214+ file : ${{ steps.set_image_variables.outputs.distro_id }}.Dockerfile
212215 target : stage1
213216 platforms : ${{ steps.set_image_variables.outputs.platforms }}
214217 push : true
@@ -221,11 +224,11 @@ jobs:
221224 cache-to : type=inline
222225 - name : Push Docker images
223226 id : docker_push
224- uses : docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75
227+ uses : docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83
225228 env :
226229 DOCKER_BUILD_RECORD_UPLOAD : false
227230 with :
228- dockerfile : ${{ steps.set_image_variables.outputs.distro_id }}.Dockerfile
231+ file : ${{ steps.set_image_variables.outputs.distro_id }}.Dockerfile
229232 platforms : ${{ steps.set_image_variables.outputs.platforms }}
230233 push : true
231234 build-args : |
@@ -234,23 +237,28 @@ jobs:
234237 labels : ${{ steps.get_metadata.outputs.labels}}
235238 cache-from : type=registry,ref=ghcr.io/mamba-org/micromamba-cache/cache:${{ steps.set_image_variables.outputs.tag }}
236239 cache-to : type=registry,ref=ghcr.io/mamba-org/micromamba-cache/cache:${{ steps.set_image_variables.outputs.tag }},mode=max
237- - uses : actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874
240+ - uses : actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
238241 with :
239- name : ${{ steps.set_image_variables.outputs.tag }}
242+ name : ${{ steps.set_image_variables.outputs.tag }}.metadata
240243 path : ${{ steps.get_metadata.outputs.bake-file }}
241244 - name : Image digest
242- run : echo ${{ steps.docker_build.outputs.digest }}
245+ env :
246+ DIGEST : ${{ steps.docker_build.outputs.digest }}
247+ run : echo "${DIGEST}"
243248 update_dockerhub_discription :
244249 if : github.repository == 'mamba-org/micromamba-docker'
245250 needs : build_docker_image_and_push
246251 runs-on : ubuntu-24.04
247252 steps :
248253 - name : Checkout source
249- uses : actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
254+ uses : actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
255+ with :
256+ persist-credentials : false
250257 - name : Get artifacts
251- uses : actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
258+ uses : actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53
252259 with :
253260 path : artifacts
261+ pattern : ' *.metadata'
254262 - name : Format tags
255263 id : format_tags
256264 run : |
@@ -262,7 +270,7 @@ jobs:
262270 | sed 's%^mambaorg/micromamba:\(.*\)$%`\1`, %' \
263271 | tr -d '\n' \
264272 | sed 's%, $%%' \
265- | sed "s%^\(.*\)$ %[\1](https://github.com/mamba-org/micromamba-docker/blob/main/${distro_id}.Dockerfile")%'
273+ | sed "s%^\(.*\)%[\1](https://github.com/mamba-org/micromamba-docker/blob/main/${distro_id}.Dockerfile)%"
266274 printf '\n\n'
267275 }
268276 function get_tags_markdown {
@@ -281,11 +289,11 @@ jobs:
281289 echo "EOF" >> $GITHUB_ENV
282290 - name : generate README_with_tags.md
283291 run : |
284- awk -v r='${{ env. TAGS_MARKDOWN } }' \
292+ awk -v r='${TAGS_MARKDOWN}' \
285293 '{gsub(/<!-- DOCKER_TAGS_INSERTION_POINT -->/,r)}1' \
286294 README.md > README_with_tags.md
287295 - name : Copy GitHub README.md to Dockerhub
288- uses : peter-evans/dockerhub-description@e98e4d1628a5f3be2be7c231e50981aee98723ae
296+ uses : peter-evans/dockerhub-description@1b9a80c056b620d92cedb9d9b5a223409c68ddfa
289297 with :
290298 username : ${{ secrets.DOCKERHUB_USERNAME }}
291299 password : ${{ secrets.DOCKERHUB_TOKEN }}
@@ -295,9 +303,13 @@ jobs:
295303 if : github.repository == 'mamba-org/micromamba-docker'
296304 needs : build_docker_image_and_push
297305 runs-on : ubuntu-24.04
306+ permissions :
307+ contents : write
298308 steps :
299309 - name : Checkout source
300- uses : actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
310+ uses : actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
311+ with :
312+ persist-credentials : false
301313 - name : Get micromamba version number
302314 id : get_version
303315 run : |
@@ -322,7 +334,7 @@ jobs:
322334 create_annotated_tag : true
323335 - name : Create a GitHub release
324336 if : steps.last_tag.outputs.previous_tag != steps.get_version.outputs.leading_v_version
325- uses : ncipollo/release-action@a8bcd956fb63e2672c1e57eafb1accf4eaa68c31
337+ uses : ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b
326338 with :
327339 tag : ${{ steps.create_tag.outputs.new_tag }}
328340 name : micromamba ${{ steps.create_tag.outputs.new_tag }}
0 commit comments