From cb4aa1c860594b7f2b4f8c466d7bdc0fc39a7a28 Mon Sep 17 00:00:00 2001 From: Zhengchen Tao Date: Thu, 7 May 2026 15:13:26 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=B8=85=E7=90=86=20Gitea=20Actions?= =?UTF-8?q?=20=E6=AE=8B=E7=95=99=E7=9A=84=20UI=20=E7=97=95=E8=BF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 两处治理之前 Gitea workflow 删除后的副作用: - 新增 .gitea/workflows/release.yml 占位 noop:上一版同名 workflow 删除后 Gitea sidebar 仍残留 release.yml 项且 workflow_dispatch 可点 但无 runner 匹配。换成一个真实存在但什么也不做的 workflow 接管该 sidebar 项,并在内容里说明真实 release 流程在 GitHub 一侧 - .github/workflows/release.yml 末尾追加一步:build + mirror 完成 后调用 Gitea statuses API,给 GITHUB_SHA 打 state=success 的 commit status,context 与 Gitea Actions 当年用的一致 ("release / build (push)")。Gitea UI 显示每 context 的最新状态, 这一步可覆盖之前 cancelled 状态在 release 页面留下的红叉 --- .gitea/workflows/release.yml | 25 +++++++++++++++++++++++++ .github/workflows/release.yml | 11 +++++++++++ 2 files changed, 36 insertions(+) create mode 100644 .gitea/workflows/release.yml diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..d36158e --- /dev/null +++ b/.gitea/workflows/release.yml @@ -0,0 +1,25 @@ +# 此文件不执行任何实际逻辑,仅用于占位。 +# +# Why: +# - Release 流程已迁到 GitHub Actions(见 .github/workflows/release.yml), +# 构建完成后通过 Gitea API 同步发布到 Gitea Releases +# - 上一版 Gitea workflow 删除后,Gitea Actions 的 workflow 注册表 +# 不会自动清理,导致 sidebar 仍残留 release.yml 项 + workflow_dispatch +# 按钮可点但无 runner 匹配 +# - 用一个 noop workflow "接管" 同名 sidebar 项,让手动触发能跑通 +# 并清楚说明 release 流程在 GitHub 那边 + +name: placeholder (release pipeline lives on GitHub Actions) + +on: + workflow_dispatch: + +jobs: + noop: + runs-on: ubuntu-latest + steps: + - name: Explain + run: | + echo "本仓库的 release 流程在 GitHub Actions 上执行。" + echo "构建完成后通过 Gitea API 同步到 Gitea Releases。" + echo "本 workflow 仅为占位,不构建任何产物。" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c57abc3..5c30769 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -122,3 +122,14 @@ jobs: $assetName = [uri]::EscapeDataString($env:ASSET_ZIP) Invoke-RestMethod -Method Post -Uri "$baseUrl/releases/$($release.id)/assets?name=$assetName" -Headers $headers -Form @{ attachment = Get-Item $env:ASSET_ZIP } | Out-Null Write-Host "已上传 $env:ASSET_ZIP 到 Gitea release" + + # 给同 SHA 打一条 success commit status,覆盖 Gitea Actions 历史残留的 cancelled + # 状态(Gitea release 页会沿 tag→commit 把 commit status badge 显示出来) + $statusPayload = @{ + state = "success" + context = "release / build (push)" + description = "Built and mirrored from GitHub Actions" + target_url = "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID" + } | ConvertTo-Json + Invoke-RestMethod -Method Post -Uri "$baseUrl/statuses/$env:GITHUB_SHA" -Headers $headers -ContentType 'application/json' -Body $statusPayload | Out-Null + Write-Host "已为 $env:GITHUB_SHA 打 success commit status"