v-2024-07-26.0 #30
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and publish image to Docker Hub | |
on: | |
release: | |
types: [published] | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
steps: | |
# Github stores the current tag in an environment variable (GITHUB_REF) in the format /refs/tags/TAG_NAME. | |
# Using shell parameter expansion, we extract the TAG_NAME. Also, it seems we cannot use shell tricks | |
# directly in the with block, so doing it in a separate step and then fetching its output when needed. | |
- name: Get the tag name | |
id: get_tag | |
run: echo ::set-output name=TAG::${GITHUB_REF/refs\/tags\//} | |
- name: Docker Setup Buildx | |
uses: docker/[email protected] | |
- name: Docker Login | |
uses: docker/[email protected] | |
with: | |
username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
password: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
- name: Build and push Docker images | |
uses: docker/[email protected] | |
with: | |
build-args: GIT_COMMIT_SHA=${{ steps.get_tag.outputs.TAG }} | |
cache-from: metabrainz/critiquebrainz:cache | |
cache-to: metabrainz/critiquebrainz:cache | |
push: true | |
tags: metabrainz/critiquebrainz:${{ steps.get_tag.outputs.TAG }} | |
target: critiquebrainz-prod |