From 08aeca89ef52334059094284ad1b21a595fc9bc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=89=E6=AD=A3=E8=B6=85?= Date: Tue, 23 Sep 2025 19:39:00 +0800 Subject: [PATCH] feat: Allow alpha versions to create latest Docker tag (#577) Co-authored-by: Cursor Agent --- .github/workflows/docker.yml | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 2cc49b8b..a8919c92 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -162,7 +162,14 @@ jobs: if [[ "$version" == *"alpha"* ]] || [[ "$version" == *"beta"* ]] || [[ "$version" == *"rc"* ]]; then build_type="prerelease" is_prerelease=true - echo "🧪 Building Docker image for prerelease: $version" + # TODO: 临时修改 - 当前允许 alpha 版本也创建 latest 标签 + # 等版本稳定后,需要移除下面这行,恢复原有逻辑(只有稳定版本才创建 latest) + if [[ "$version" == *"alpha"* ]]; then + create_latest=true + echo "🧪 Building Docker image for prerelease: $version (临时允许创建 latest 标签)" + else + echo "🧪 Building Docker image for prerelease: $version" + fi else build_type="release" create_latest=true @@ -208,7 +215,14 @@ jobs: v*alpha*|v*beta*|v*rc*|*alpha*|*beta*|*rc*) build_type="prerelease" is_prerelease=true - echo "🧪 Building with prerelease version: $input_version" + # TODO: 临时修改 - 当前允许 alpha 版本也创建 latest 标签 + # 等版本稳定后,需要移除下面的 if 块,恢复原有逻辑 + if [[ "$input_version" == *"alpha"* ]]; then + create_latest=true + echo "🧪 Building with prerelease version: $input_version (临时允许创建 latest 标签)" + else + echo "🧪 Building with prerelease version: $input_version" + fi ;; # Release versions (match after prereleases, more general) v[0-9]*|[0-9]*.*.*) @@ -316,7 +330,9 @@ jobs: # Add channel tags for prereleases and latest for stable if [[ "$CREATE_LATEST" == "true" ]]; then - # Stable release + # TODO: 临时修改 - 当前 alpha 版本也会创建 latest 标签 + # 等版本稳定后,这里的逻辑保持不变,但上游的 CREATE_LATEST 设置需要恢复 + # Stable release (以及临时的 alpha 版本) TAGS="$TAGS,${{ env.REGISTRY_DOCKERHUB }}:latest" elif [[ "$BUILD_TYPE" == "prerelease" ]]; then # Prerelease channel tags (alpha, beta, rc) @@ -413,7 +429,13 @@ jobs: "prerelease") echo "🧪 Prerelease Docker image has been built with ${VERSION} tags" echo "⚠️ This is a prerelease image - use with caution" - echo "🚫 Latest tag NOT created for prerelease" + # TODO: 临时修改 - alpha 版本当前会创建 latest 标签 + # 等版本稳定后,需要恢复下面的提示信息 + if [[ "$VERSION" == *"alpha"* ]] && [[ "$CREATE_LATEST" == "true" ]]; then + echo "🏷️ Latest tag has been created for alpha version (临时措施)" + else + echo "🚫 Latest tag NOT created for prerelease" + fi ;; *) echo "❌ Unexpected build type: $BUILD_TYPE"