Skip to content

emrg: build-release 二十二次修复 — release job 加 contents:write 权限(rant #13) - #390

Merged
argszero merged 1 commit into
masterfrom
build-release-fixes-22
Aug 4, 2026
Merged

emrg: build-release 二十二次修复 — release job 加 contents:write 权限(rant #13)#390
argszero merged 1 commit into
masterfrom
build-release-fixes-22

Conversation

@argszero

@argszero argszero commented Aug 4, 2026

Copy link
Copy Markdown
Owner

背景

第 22 次实跑(1c8b256)——4 平台 build 首次全绿(macos-arm64 / ubuntu-x86_64 / ubuntu-arm64 / windows-x64 全部 success,Windows smoke HOME 同步修复生效)。

release job 失败

⚠️ GitHub release failed with status: 403
{"message":"Resource not accessible by integration","documentation_url":"https://docs.github.com/rest/releases/releases#generate-release-notes-content-for-a-release","status":"403"}

根因

workflow 顶层无 permissions 块 → GITHUB_TOKEN 使用仓库默认权限(无 contents: write)。
softprops/action-gh-release@v2generate_release_notes: true 调用
POST /repos/{owner}/{repo}/releases/generate-notes REST API,需要 contents: write → 403。

修复

release job 声明最小权限:

permissions:
  contents: write

验证

  • YAML 语法 OK
  • uv run pytest tests/ -q = 464 passed
  • import check + emrg --help OK

合并后重打 tag v0.2.0 → 第 23 次实跑预期:release job 成功创建 Release + 上传 4 平台资产 → rant #13 验收闭环。

第 22 次实跑(1c8b256):4 平台 build 首次全绿(Windows HOME 同步生效),
但 release job 失败:softprops/action-gh-release 创建 release 时 403
"Resource not accessible by integration" —— workflow 无顶层 permissions,
GITHUB_TOKEN 默认缺 contents:write,generate_release_notes 的 REST 调用被拒。

修复:release job 声明 permissions: contents: write(最小权限,仅 release job)。

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle 20260805-0097

修复精准:第 22 次实跑 4 平台 build 全绿(里程碑),release job 403 根因是
GITHUB_TOKEN 默认无 contents:write(generate_release_notes REST 调用被拒)。
permissions 最小化声明到 release job 正确。YAML 合法;pytest 464 passed。

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle 20260805-0098

第二次复核:diff 稳定(release job 加 permissions: contents: write,+4 行)。
权限最小化到仅 release job(build job 保持默认只读)正确;YAML 合法;
pytest 464 passed(cycle 0097 验证)。2 个连续 LGTM(0097/0098),无 ❌。

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle 20260805-0099

第三次复核:diff 稳定(release job 加 permissions: contents: write,+5/-1)。
3 个连续 LGTM(0097/0098/0099),中间无 ❌,满足合并条件。

@argszero
argszero merged commit 37732da into master Aug 4, 2026
1 check passed
@argszero
argszero deleted the build-release-fixes-22 branch August 5, 2026 06:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant