From af0c1d3e65f26bde6652a13f69caf1629fb676c6 Mon Sep 17 00:00:00 2001 From: Axel Ogereau-Peltier <49279289+axel-op@users.noreply.github.com> Date: Sun, 3 Mar 2024 15:23:46 +0100 Subject: [PATCH] (github-actions) Tag Docker images with commit SHA --- .github/workflows/docker-build.yml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 429b22d..08774a3 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -17,9 +17,11 @@ jobs: env: DOCKERFILE: Dockerfile-parent - GHCR_IMAGE_TAG: "ghcr.io/${{ github.repository }}:v3" + GHCR_IMAGE: "ghcr.io/${{ github.repository }}" + GHCR_IMAGE_TAG_VERSION: "ghcr.io/${{ github.repository }}:v3" + GHCR_IMAGE_TAG_COMMIT: "ghcr.io/${{ github.repository }}:${{ github.sha }}" DOCKER_HUB_IMAGE_TAG: "axelop/dart_package_analyzer:v3" - REGISTRY: ghcr.io + GHCR_REGISTRY: ghcr.io steps: - uses: actions/checkout@v4 @@ -31,8 +33,8 @@ jobs: id: labels uses: axel-op/docker-labels-retriever@master with: - image: ${{ env.GHCR_IMAGE_TAG }} - registry: ${{ env.REGISTRY }} + image: ${{ env.GHCR_IMAGE_TAG_VERSION }} + registry: ${{ env.GHCR_REGISTRY }} - name: Check current image id: check @@ -77,14 +79,15 @@ jobs: --label "dartdigest=$CURRENT_DART" \ --label "org.opencontainers.image.source=https://github.com/${{ github.repository }}" \ -f $DOCKERFILE \ - -t $GHCR_IMAGE_TAG \ + -t $GHCR_IMAGE_TAG_VERSION \ + -t $GHCR_IMAGE_TAG_COMMIT \ -t $DOCKER_HUB_IMAGE_TAG \ . - name: Test new image if: steps.check.outputs.should_push == 'true' run: | - sudo docker run -d -t --name test-container $GHCR_IMAGE_TAG + sudo docker run -d -t --name test-container $GHCR_IMAGE_TAG_VERSION sudo docker cp ${GITHUB_WORKSPACE}/test/. test-container:/test sudo docker cp $GITHUB_EVENT_PATH test-container:/eventpayload sudo docker exec test-container /bin/bash -c "cd /test && git init" @@ -98,8 +101,8 @@ jobs: DOCKER_HUB_USERNAME: axelop DOCKER_HUB_TOKEN: ${{ secrets.DOCKER_TOKEN }} run: | - echo $GHCR_TOKEN | sudo docker login $REGISTRY --username=$GHCR_USERNAME --password-stdin - sudo docker push $GHCR_IMAGE_TAG + echo $GHCR_TOKEN | sudo docker login $GHCR_REGISTRY --username=$GHCR_USERNAME --password-stdin + sudo docker push --all-tags $GHCR_IMAGE echo $DOCKER_HUB_TOKEN | sudo docker login --username=$DOCKER_HUB_USERNAME --password-stdin sudo docker push $DOCKER_HUB_IMAGE_TAG