diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c18a336af..0332e8ae3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,6 +5,15 @@ on: push: branches: [ "main" ] workflow_dispatch: # Handy for testing + inputs: + VERSION: + description: 'Version number to tag the image with' + default: latest + required: true + PUSH: + description: 'Whether to push the image to the registry' + default: false + required: true jobs: build-quesma-docker-image: @@ -31,15 +40,30 @@ jobs: username: _json_key password: ${{ secrets.GCR_SERVICE_ACCOUNT_PRIVATE_KEY }} + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USER }} + password: ${{ secrets.DOCKER_PAT }} + + - name: Set the build date + run: echo QUESMA_BUILD_DATE=$(git --no-pager log -1 --date=format:'%Y-%m-%d' --format="%ad") >> $GITHUB_ENV + - name: Build and export uses: docker/build-push-action@v6 with: context: ${{ matrix.module }}/. - tags: europe-docker.pkg.dev/metal-figure-407109/quesma-nightly/quesma:${{ github.sha }} - # Pushes to GCR only for `main` branch builds - push: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + tags: | + europe-docker.pkg.dev/metal-figure-407109/quesma-nightly/quesma:${{ github.sha }} + europe-docker.pkg.dev/metal-figure-407109/quesma-nightly/quesma:${{ github.event.inputs.VERSION }} + quesma/quesma:${{ github.event.inputs.VERSION }} + quesma/quesma:latest + # Pushes to GCR only for `main` branch builds, unless set explicitly in the job input + push: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event.inputs.PUSH }} build-args: | QUESMA_BUILD_SHA=${{ github.sha }} + QUESMA_VERSION=${{ github.event.inputs.VERSION }} + QUESMA_BUILD_DATE=${{ env.QUESMA_BUILD_DATE }} platforms: linux/amd64,linux/arm64 env: DOCKER_BUILD_SUMMARY: false