Skip to content

Read the version from Git Tag #2

Read the version from Git Tag

Read the version from Git Tag #2

Workflow file for this run

name: Publish Docker Image
# Trigger this workflow only when a tag is pushed, with pattern `v*`
on:
push:
tags:
- 'v*'
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Extract the Git tag version, removing the 'refs/tags/' prefix
- name: Extract version from tag
id: extract_version
run: |
VERSION=${GITHUB_REF#refs/tags/}
echo "VERSION=$VERSION" >> $GITHUB_ENV
# Log in to GitHub Container Registry
- name: Log in to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# Log in to Docker Hub
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
# Extract metadata (tags, labels) for Docker
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
with:
images: |
ghcr.io/cothings-app/cothings/cothings
cothings/web-app
# Build and push Docker image to GitHub Container Registry
- name: Build and push Docker image to GitHub Container Registry
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: |
ghcr.io/cothings-app/cothings/cothings:${{ env.VERSION }}
ghcr.io/cothings-app/cothings/cothings:latest
labels: ${{ steps.meta.outputs.labels }}
# Build and push Docker image to Docker Hub
- name: Build and push Docker image to Docker Hub
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: |
cothings/web-app:${{ env.VERSION }}
cothings/web-app:latest
labels: ${{ steps.meta.outputs.labels }}