name: docker on: push: branches: - master - develop paths-ignore: - '**.md' env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} jobs: build: runs-on: ubuntu-latest steps: - name: checkout code uses: actions/checkout@v2 - name: define branch name run: echo "BRANCH=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV - name: define commit hash run: echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV - name: define staging tag if: env.BRANCH == 'develop' run: echo "TAG=staging" >> $GITHUB_ENV - name: define latest tag if: env.BRANCH == 'master' run: echo "TAG=latest" >> $GITHUB_ENV - name: set up qemu uses: docker/setup-qemu-action@v1 - name: set up buildx id: docker_buildx uses: docker/setup-buildx-action@v1 - name: log in to ghcr uses: docker/login-action@v1 with: registry: ${{ env.REGISTRY }} username: ${{ secrets.SERVICE_USER }} # Defined in secrets for auth to registry password: ${{ secrets.GITHUB_TOKEN }} - name: build and push uses: docker/build-push-action@v2 with: builder: ${{ steps.docker_buildx.outputs.name }} platforms: linux/amd64, linux/arm64 push: true tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.TAG }}, ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.COMMIT_HASH }} build-args: PASTY_VERSION=${{ env.BRANCH }}-${{ env.COMMIT_HASH }}