fixing tag

This commit is contained in:
aman-17 2025-05-22 15:26:39 -07:00
parent beb8816677
commit 21e5ab5dd0

View File

@ -1,17 +1,11 @@
name: Build and Push Docker Image
on:
# ① Run when a release is published …
release:
types: [published]
# ② … or when a SemVer-style tag is pushed (with or without “v” prefix)
push:
tags:
- 'v*' # v1.2.3
- '*.*.*' # 1.2.3
# ③ Manual trigger (optional)
- 'v*'
- '*.*.*'
workflow_dispatch:
env:
@ -24,11 +18,23 @@ jobs:
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- name: Checkout repository
uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
- name: Free up disk space
run: |
sudo rm -rf /usr/share/dotnet \
/usr/local/lib/android \
/opt/ghc \
/opt/hostedtoolcache/CodeQL
sudo docker system prune -af
sudo apt-get -y autoremove
sudo apt-get -y autoclean
df -h
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v3
@ -37,34 +43,27 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
# ---------------------------------------------
# Tag & label generation never create :latest
# ---------------------------------------------
- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
flavor: |
latest=false # ban implicit :latest
tags: |
# Tags coming from a pushed Git tag
type=ref,event=tag
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=raw,value=latest,enable={{is_default_branch}}
type=raw,value={{date 'YYYYMMDD-HHmmss'}}-{{sha}},enable=${{ github.event_name == 'workflow_dispatch' }}
flavor: |
latest=false
# Release event → use the release tag name
type=raw,value=${{ github.event.release.tag_name }},enable=${{ github.event_name == 'release' }}
type=semver,pattern={{version}},enable=${{ github.event_name == 'release' }}
type=semver,pattern={{major}}.{{minor}},enable=${{ github.event_name == 'release' }}
type=semver,pattern={{major}},enable=${{ github.event_name == 'release' }}
# Fail fast if no tags were produced
- name: Abort when tag list is empty
if: ${{ steps.meta.outputs.tags == '' }}
- name: Debug metadata
run: |
echo "::error ::No Docker tags were generated for this event. Did you trigger the workflow without a Git tag or Release tag?"
exit 1
echo "Tags: ${{ steps.meta.outputs.tags }}"
echo "Labels: ${{ steps.meta.outputs.labels }}"
- name: Build and push image
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
@ -74,4 +73,10 @@ jobs:
labels: ${{ steps.meta.outputs.labels }}
platforms: linux/amd64
outputs: type=registry
no-cache: true
no-cache: true
- name: Clean up after build
if: always()
run: |
docker system prune -af --volumes
df -h