From ea77fa97bd3c144c35e859454f43471406f22f86 Mon Sep 17 00:00:00 2001 From: Fabio Bonelli Date: Thu, 15 Apr 2021 18:54:01 +0200 Subject: [PATCH] chore: build and push Docker image on tags * git tags starting with "v" (eg. v0.1.0) will result in a italia/developers-italia-onboarding:v0.1.0 image. * Commits to master will result in italia/developers-italia-onboarding:master * Both will create a italia/developers-italia-onboarding:{sha} tag --- .../test_and_publish_docker_image.yml | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test_and_publish_docker_image.yml b/.github/workflows/test_and_publish_docker_image.yml index 6d56c9b..2835c52 100644 --- a/.github/workflows/test_and_publish_docker_image.yml +++ b/.github/workflows/test_and_publish_docker_image.yml @@ -9,7 +9,7 @@ on: name: ci jobs: - test_and_publish_docker_image: + test: runs-on: ubuntu-latest steps: - uses: actions/checkout@master @@ -24,16 +24,31 @@ jobs: - run: npm run lint - run: npm run test + build_and_publish_docker_image: + needs: test + + runs-on: ubuntu-latest + + if: ${{ github.event_name != 'pull_request' }} + steps: - name: Login to DockerHub - if: github.event_name != 'pull_request' uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get Docker image tags + id: image_tags + run: | + IMAGE=italia/developers-italia-onboarding + + TAGS=${IMAGE}:$(echo ${GITHUB_REF##*/}) + TAGS="$TAGS,${IMAGE}:${GITHUB_SHA::8}" + + echo ::set-output name=tags::${TAGS} + - name: Build and push - if: github.event_name != 'pull_request' uses: docker/build-push-action@v2 with: push: true - tags: italia/developers-italia-onboarding:staging + tags: ${{ steps.image_tags.outputs.tags }}