The softprops/action-gh-release action creates the release first, then uploads assets in separate API calls. GitHub's immutable release policy rejects those subsequent uploads, causing "Cannot upload assets to an immutable release" errors. The gh CLI uploads assets atomically with release creation, avoiding this race condition. Also moves website redeploy into a separate job that runs regardless of publish outcome, so the site stays in sync even if asset upload fails. |
||
|---|---|---|
| .. | ||
| checks-on-pr.yml | ||
| ci-run.yml | ||
| cross-platform-build-manual.yml | ||
| master-branch-flow.md | ||
| README.md | ||
| release-beta-on-push.yml | ||
| release-stable-manual.yml | ||
| tweet-release.yml | ||
Workflow Directory Layout
GitHub Actions only loads workflow entry files from:
.github/workflows/*.yml.github/workflows/*.yaml
Subdirectories are not valid locations for workflow entry files.
Repository convention:
- Keep runnable workflow entry files at
.github/workflows/root. - Keep cross-tooling/local CI scripts under
dev/orscripts/ci/when used outside Actions.
Workflow behavior documentation in this directory:
.github/workflows/master-branch-flow.md