feat: 发版时自动同步到皮肤站
Sync source to CNB / Sync Git ref (push) Skipped
Axolotl desktop CI / guardrails (push) Canceled after 0s
Axolotl desktop CI / desktop (macos-latest) (push) Canceled after 0s
Axolotl desktop CI / desktop (ubuntu-latest) (push) Canceled after 0s
Axolotl desktop CI / desktop (windows-latest) (push) Canceled after 0s
Axolotl desktop CI / website (push) Canceled after 0s
Repository checks / typos (push) Canceled after 0s
Repository checks / tombi (push) Canceled after 0s
Rust checks / shear (push) Canceled after 0s
Sync source to CNB / Sync Git ref (push) Skipped
Axolotl desktop CI / guardrails (push) Canceled after 0s
Axolotl desktop CI / desktop (macos-latest) (push) Canceled after 0s
Axolotl desktop CI / desktop (ubuntu-latest) (push) Canceled after 0s
Axolotl desktop CI / desktop (windows-latest) (push) Canceled after 0s
Axolotl desktop CI / website (push) Canceled after 0s
Repository checks / typos (push) Canceled after 0s
Repository checks / tombi (push) Canceled after 0s
Rust checks / shear (push) Canceled after 0s
- build-on-tag 新增发布步骤,将 skin-site-update 包上传到皮肤站并激活 - 通过 SKIN_SITE_CI_UPLOAD_TOKEN 环境变量鉴权,未配置时跳过并告警 - 上传或激活失败不阻断发版流程
This commit is contained in:
1 parent
3c8ac04269
commit
aaf394f790
1 file changed
+38
@@ -374,6 +374,44 @@ jobs:
|
||||
)
|
||||
gh release upload "${GITHUB_REF_NAME}" "release-check/${bundle_name}" --clobber
|
||||
|
||||
- name: Publish to skin site
|
||||
continue-on-error: true
|
||||
env:
|
||||
SKIN_SITE_TOKEN: ${{ secrets.SKIN_SITE_CI_UPLOAD_TOKEN }}
|
||||
SKIN_SITE_URL: ${{ vars.SKIN_SITE_URL || 'https://skin.starlight.cool' }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
if [ -z "${SKIN_SITE_TOKEN:-}" ]; then
|
||||
echo "::warning::SKIN_SITE_CI_UPLOAD_TOKEN not configured, skipping skin site publish"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
version="${GITHUB_REF_NAME#v}"
|
||||
bundle="release-check/Starlight_Launcher_${version}_skin-site-update.zip"
|
||||
if [ ! -f "${bundle}" ]; then
|
||||
echo "::warning::Bundle ${bundle} not found, skipping skin site publish"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
upload_response=$(curl -fsS -X POST \
|
||||
-H "Authorization: Bearer ${SKIN_SITE_TOKEN}" \
|
||||
-F "archive=@${bundle};type=application/zip" \
|
||||
"${SKIN_SITE_URL}/starlight/launcher/admin/upload?forceUpdate=false")
|
||||
|
||||
release_id=$(printf '%s' "${upload_response}" | jq -r '.payload.id // empty')
|
||||
if [ -z "${release_id}" ]; then
|
||||
echo "::warning::Skin site upload did not return a release id: ${upload_response}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Uploaded release id: ${release_id}"
|
||||
|
||||
curl -fsS -X POST \
|
||||
-H "Authorization: Bearer ${SKIN_SITE_TOKEN}" \
|
||||
"${SKIN_SITE_URL}/starlight/launcher/admin/${release_id}/activate"
|
||||
|
||||
echo "Skin site release ${version} published"
|
||||
|
||||
- name: Notify Update Server to publish release assets
|
||||
if: ${{ env.UPDATE_SERVER_URL != '' && env.UPDATE_SERVER_WEBHOOK_SECRET != '' }}
|
||||
env:
|
||||
|
||||
Reference in new issue
Block a user