mirror of
https://github.com/documenso/documenso.git
synced 2025-11-13 16:23:06 +10:00
fix: update publish workfow to only tag stable versions latest (#1405)
## Description This pull request introduces modifications to the GitHub Actions workflow to ensure that the `latest` Docker tag is only pushed for stable releases. It prevents the `latest` tag from being assigned to release candidates (`-rc`), beta versions, or other pre-release tags. This enhancement improves version management by keeping the `latest` tag reserved exclusively for fully stable versions (e.g., `1.0.0`). ## Related Issue Fixes #1404 ## Changes Made - Added a conditional check to verify if the release version follows the format `X.Y.Z` (stable release format). - Updated the Docker manifest creation steps to only push the `latest` tag if the version is a stable full release. - Modified both DockerHub and GitHub Container Registry push steps to reflect the new versioning conditions.
This commit is contained in:
56
.github/workflows/publish.yml
vendored
56
.github/workflows/publish.yml
vendored
@ -2,7 +2,7 @@ name: Publish Docker
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: ['release']
|
branches: ["release"]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build_and_publish_platform_containers:
|
build_and_publish_platform_containers:
|
||||||
@ -89,22 +89,35 @@ jobs:
|
|||||||
APP_VERSION="$(git name-rev --tags --name-only $(git rev-parse HEAD) | head -n 1 | sed 's/\^0//')"
|
APP_VERSION="$(git name-rev --tags --name-only $(git rev-parse HEAD) | head -n 1 | sed 's/\^0//')"
|
||||||
GIT_SHA="$(git rev-parse HEAD)"
|
GIT_SHA="$(git rev-parse HEAD)"
|
||||||
|
|
||||||
docker manifest create \
|
# Check if the version is stable (no rc or beta in the version)
|
||||||
documenso/documenso:latest \
|
if [[ "$APP_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||||
--amend documenso/documenso-amd64:latest \
|
docker manifest create \
|
||||||
--amend documenso/documenso-arm64:latest \
|
documenso/documenso:latest \
|
||||||
|
--amend documenso/documenso-amd64:latest \
|
||||||
|
--amend documenso/documenso-arm64:latest
|
||||||
|
|
||||||
|
docker manifest push documenso/documenso:latest
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$APP_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$ ]]; then
|
||||||
|
docker manifest create \
|
||||||
|
documenso/documenso:rc \
|
||||||
|
--amend documenso/documenso-amd64:rc \
|
||||||
|
--amend documenso/documenso-arm64:rc
|
||||||
|
|
||||||
|
docker manifest push documenso/documenso:rc
|
||||||
|
fi
|
||||||
|
|
||||||
docker manifest create \
|
docker manifest create \
|
||||||
documenso/documenso:$GIT_SHA \
|
documenso/documenso:$GIT_SHA \
|
||||||
--amend documenso/documenso-amd64:$GIT_SHA \
|
--amend documenso/documenso-amd64:$GIT_SHA \
|
||||||
--amend documenso/documenso-arm64:$GIT_SHA \
|
--amend documenso/documenso-arm64:$GIT_SHA
|
||||||
|
|
||||||
docker manifest create \
|
docker manifest create \
|
||||||
documenso/documenso:$APP_VERSION \
|
documenso/documenso:$APP_VERSION \
|
||||||
--amend documenso/documenso-amd64:$APP_VERSION \
|
--amend documenso/documenso-amd64:$APP_VERSION \
|
||||||
--amend documenso/documenso-arm64:$APP_VERSION \
|
--amend documenso/documenso-arm64:$APP_VERSION
|
||||||
|
|
||||||
docker manifest push documenso/documenso:latest
|
|
||||||
docker manifest push documenso/documenso:$GIT_SHA
|
docker manifest push documenso/documenso:$GIT_SHA
|
||||||
docker manifest push documenso/documenso:$APP_VERSION
|
docker manifest push documenso/documenso:$APP_VERSION
|
||||||
|
|
||||||
@ -113,21 +126,34 @@ jobs:
|
|||||||
APP_VERSION="$(git name-rev --tags --name-only $(git rev-parse HEAD) | head -n 1 | sed 's/\^0//')"
|
APP_VERSION="$(git name-rev --tags --name-only $(git rev-parse HEAD) | head -n 1 | sed 's/\^0//')"
|
||||||
GIT_SHA="$(git rev-parse HEAD)"
|
GIT_SHA="$(git rev-parse HEAD)"
|
||||||
|
|
||||||
docker manifest create \
|
# Check if the version is stable (no rc or beta in the version)
|
||||||
ghcr.io/documenso/documenso:latest \
|
if [[ "$APP_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||||
--amend ghcr.io/documenso/documenso-amd64:latest \
|
docker manifest create \
|
||||||
--amend ghcr.io/documenso/documenso-arm64:latest \
|
ghcr.io/documenso/documenso:latest \
|
||||||
|
--amend ghcr.io/documenso/documenso-amd64:latest \
|
||||||
|
--amend ghcr.io/documenso/documenso-arm64:latest
|
||||||
|
|
||||||
|
docker manifest push ghcr.io/documenso/documenso:latest
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$APP_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$ ]]; then
|
||||||
|
docker manifest create \
|
||||||
|
ghcr.io/documenso/documenso:rc \
|
||||||
|
--amend ghcr.io/documenso/documenso-amd64:rc \
|
||||||
|
--amend ghcr.io/documenso/documenso-arm64:rc
|
||||||
|
|
||||||
|
docker manifest push ghcr.io/documenso/documenso:rc
|
||||||
|
fi
|
||||||
|
|
||||||
docker manifest create \
|
docker manifest create \
|
||||||
ghcr.io/documenso/documenso:$GIT_SHA \
|
ghcr.io/documenso/documenso:$GIT_SHA \
|
||||||
--amend ghcr.io/documenso/documenso-amd64:$GIT_SHA \
|
--amend ghcr.io/documenso/documenso-amd64:$GIT_SHA \
|
||||||
--amend ghcr.io/documenso/documenso-arm64:$GIT_SHA \
|
--amend ghcr.io/documenso/documenso-arm64:$GIT_SHA
|
||||||
|
|
||||||
docker manifest create \
|
docker manifest create \
|
||||||
ghcr.io/documenso/documenso:$APP_VERSION \
|
ghcr.io/documenso/documenso:$APP_VERSION \
|
||||||
--amend ghcr.io/documenso/documenso-amd64:$APP_VERSION \
|
--amend ghcr.io/documenso/documenso-amd64:$APP_VERSION \
|
||||||
--amend ghcr.io/documenso/documenso-arm64:$APP_VERSION \
|
--amend ghcr.io/documenso/documenso-arm64:$APP_VERSION
|
||||||
|
|
||||||
docker manifest push ghcr.io/documenso/documenso:latest
|
|
||||||
docker manifest push ghcr.io/documenso/documenso:$GIT_SHA
|
docker manifest push ghcr.io/documenso/documenso:$GIT_SHA
|
||||||
docker manifest push ghcr.io/documenso/documenso:$APP_VERSION
|
docker manifest push ghcr.io/documenso/documenso:$APP_VERSION
|
||||||
|
|||||||
Reference in New Issue
Block a user