@@ -247,6 +247,7 @@ jobs:
247247 runs-on : ubuntu-latest
248248 permissions :
249249 contents : write
250+ packages : write
250251 steps :
251252 - uses : actions/checkout@v4
252253 with :
@@ -292,9 +293,40 @@ jobs:
292293 if : steps.check.outputs.should_release == 'true'
293294 id : publish-crate
294295 env :
295- CARGO_TOKEN : ${{ secrets.CARGO_TOKEN }}
296+ CARGO_TOKEN : ${{ secrets.CARGO_REGISTRY_TOKEN || secrets. CARGO_TOKEN }}
296297 run : rust-script scripts/publish-crate.rs
297298
299+ - name : Log in to GitHub Container Registry
300+ if : steps.check.outputs.should_release == 'true'
301+ uses : docker/login-action@v3
302+ with :
303+ registry : ghcr.io
304+ username : ${{ github.actor }}
305+ password : ${{ secrets.GITHUB_TOKEN }}
306+
307+ - name : Set up Docker Buildx
308+ if : steps.check.outputs.should_release == 'true'
309+ uses : docker/setup-buildx-action@v3
310+
311+ - name : Extract Docker metadata
312+ if : steps.check.outputs.should_release == 'true'
313+ id : docker-meta
314+ uses : docker/metadata-action@v5
315+ with :
316+ images : ghcr.io/${{ github.repository }}
317+ tags : |
318+ type=raw,value=latest
319+ type=raw,value=${{ steps.current_version.outputs.version }}
320+
321+ - name : Publish Docker image to GitHub Packages
322+ if : steps.check.outputs.should_release == 'true'
323+ uses : docker/build-push-action@v6
324+ with :
325+ context : .
326+ push : true
327+ tags : ${{ steps.docker-meta.outputs.tags }}
328+ labels : ${{ steps.docker-meta.outputs.labels }}
329+
298330 - name : Create GitHub Release
299331 if : steps.check.outputs.should_release == 'true'
300332 env :
@@ -316,6 +348,7 @@ jobs:
316348 runs-on : ubuntu-latest
317349 permissions :
318350 contents : write
351+ packages : write
319352 steps :
320353 - uses : actions/checkout@v4
321354 with :
@@ -349,9 +382,40 @@ jobs:
349382 if : steps.version.outputs.version_committed == 'true' || steps.version.outputs.already_released == 'true'
350383 id : publish-crate
351384 env :
352- CARGO_TOKEN : ${{ secrets.CARGO_TOKEN }}
385+ CARGO_TOKEN : ${{ secrets.CARGO_REGISTRY_TOKEN || secrets. CARGO_TOKEN }}
353386 run : rust-script scripts/publish-crate.rs
354387
388+ - name : Log in to GitHub Container Registry
389+ if : steps.version.outputs.version_committed == 'true' || steps.version.outputs.already_released == 'true'
390+ uses : docker/login-action@v3
391+ with :
392+ registry : ghcr.io
393+ username : ${{ github.actor }}
394+ password : ${{ secrets.GITHUB_TOKEN }}
395+
396+ - name : Set up Docker Buildx
397+ if : steps.version.outputs.version_committed == 'true' || steps.version.outputs.already_released == 'true'
398+ uses : docker/setup-buildx-action@v3
399+
400+ - name : Extract Docker metadata
401+ if : steps.version.outputs.version_committed == 'true' || steps.version.outputs.already_released == 'true'
402+ id : docker-meta
403+ uses : docker/metadata-action@v5
404+ with :
405+ images : ghcr.io/${{ github.repository }}
406+ tags : |
407+ type=raw,value=latest
408+ type=raw,value=${{ steps.version.outputs.new_version }}
409+
410+ - name : Publish Docker image to GitHub Packages
411+ if : steps.version.outputs.version_committed == 'true' || steps.version.outputs.already_released == 'true'
412+ uses : docker/build-push-action@v6
413+ with :
414+ context : .
415+ push : true
416+ tags : ${{ steps.docker-meta.outputs.tags }}
417+ labels : ${{ steps.docker-meta.outputs.labels }}
418+
355419 - name : Create GitHub Release
356420 if : steps.version.outputs.version_committed == 'true' || steps.version.outputs.already_released == 'true'
357421 env :
0 commit comments