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"