fix(ci): publish docker image from releases

This commit is contained in:
Tam Nhu Tran
2026-03-23 09:52:59 -04:00
parent 8e90404774
commit 5c1553e6f5
+12 -7
View File
@@ -1,9 +1,9 @@
name: Publish Docker Image
on:
push:
tags:
- 'v*.*.*'
release:
types:
- published
concurrency:
group: docker-release-${{ github.ref }}
@@ -11,27 +11,32 @@ concurrency:
jobs:
publish:
if: startsWith(github.ref, 'refs/tags/v') && !contains(github.ref_name, '-')
if: ${{ !github.event.release.prerelease && startsWith(github.event.release.tag_name, 'v') && !contains(github.event.release.tag_name, '-') }}
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
env:
RELEASE_TAG: ${{ github.event.release.tag_name }}
steps:
- name: Checkout release tag
uses: actions/checkout@v4
with:
ref: ${{ github.event.release.tag_name }}
- name: Validate stable semver tag
id: tag
run: |
if [[ "${GITHUB_REF_NAME}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
if [[ "${RELEASE_TAG}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "publish=true" >> "$GITHUB_OUTPUT"
exit 0
fi
echo "publish=false" >> "$GITHUB_OUTPUT"
echo "Skipping non-stable semver tag ${GITHUB_REF_NAME}"
echo "Skipping non-stable semver tag ${RELEASE_TAG}"
- name: Set up QEMU
if: steps.tag.outputs.publish == 'true'
@@ -45,7 +50,7 @@ jobs:
if: steps.tag.outputs.publish == 'true'
id: meta
run: |
VERSION="${GITHUB_REF_NAME#v}"
VERSION="${RELEASE_TAG#v}"
MINOR="${VERSION%.*}"
MAJOR="${VERSION%%.*}"
OWNER_LOWER=$(echo "${GITHUB_REPOSITORY_OWNER}" | tr '[:upper:]' '[:lower:]')