fix: set image version from Dockerfile arg (#18) #29
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
# The workflow to build and push the docker image to the Docker Hub and GitHub Container Registry on each release | |
# Builds multiplatform images for the linux/amd64, linux/arm64, and linux/s390x platforms | |
# The workflow has additional trigger on pull requests to check image building | |
name: Docker | |
on: | |
pull_request: | |
branches: [main] | |
push: | |
branches: [main] | |
permissions: | |
packages: write | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Parse version | |
id: version | |
run: echo "VERSION=$(awk -F= '/^ARG SQLCMD_VERSION/ {print $2}' Dockerfile)" >> $GITHUB_OUTPUT | |
- uses: docker/setup-qemu-action@v3 | |
- uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- uses: docker/metadata-action@v5 | |
id: meta | |
with: | |
images: | | |
${{ github.repository }} | |
ghcr.io/${{ github.repository }} | |
tags: | | |
type=raw,value=${{ steps.version.outputs.VERSION }} | |
type=raw,value=latest,enable={{is_default_branch}} | |
- uses: docker/build-push-action@v6 | |
with: | |
context: . | |
annotations: ${{ steps.meta.outputs.annotations }} | |
labels: ${{ steps.meta.outputs.labels }} | |
tags: ${{ steps.meta.outputs.tags }} | |
platforms: linux/amd64,linux/arm64,linux/s390x | |
provenance: false | |
push: ${{ github.event_name == 'push' }} |