Skip to content

Land update-wasm version bumps through a PR - #31

Merged
baijum merged 1 commit into
mainfrom
claude/github-issue-30-version-bump-b6bd9d
Aug 7, 2026
Merged

Land update-wasm version bumps through a PR#31
baijum merged 1 commit into
mainfrom
claude/github-issue-30-version-bump-b6bd9d

Conversation

@baijum

@baijum baijum commented Aug 7, 2026

Copy link
Copy Markdown
Member

Problem

update-wasm.yml pushed the kaappi_version bump straight to main. Once the required DCO check was added to branch protection, that push became structurally impossible for github-actions[bot]: required-status-check enforcement needs the check to have already reported success for that exact commit SHA, which a brand-new commit can never have, and enforce_admins is false so only admins bypass it. The v0.22.2 and v0.22.3 releases both failed at the push step and were synced manually (#30).

Fix (issue #30, approach 1)

Route the bump through a pull request — the flow branch protection is designed for:

  1. Commit the bump (signed off, so DCO passes) on a per-run branch bot/update-wasm-<version>-<run_id>.
  2. Open a PR and poll the DCO check-run on the PR head until it concludes (~10 min ceiling).
  3. Merge once DCO is green — no admin bypass needed, since DCO is the only required check.
  4. Deploy from this job after the merge, because a merge performed with GITHUB_TOKEN does not trigger ci.yml's push-to-main deploy. The deploy step now also runs fetch-book.sh so the rebuilt site isn't missing the embedded book PDF.

Notes / verification

  • DCO reports as a check-run (name: DCO), not a commit status — confirmed against a recent PR — so the poll queries check-runs and picks the newest DCO run, empty-safe.
  • Added pull-requests: write (needed to open/merge the PR); repo + org both allow Actions to create PRs.
  • allow_auto_merge is off on the repo, so this polls-and-merges rather than using --auto.
  • Git identity is set before the no-bump early-exit so the gh-deploy commit always has an author.
  • YAML and both embedded shell steps validated locally; DCO poll jq exercised against single / empty / multi-run payloads.

Closes #30

🤖 Generated with Claude Code

Branch protection on main requires the DCO check, which a direct push of a
brand-new commit can never satisfy: required-check enforcement needs the check
to have already reported success for that exact SHA, and github-actions[bot]
isn't an admin so it can't bypass it. update-wasm.yml's direct push to main
was therefore rejected on every release since DCO became required (v0.22.2,
v0.22.3), silently leaving the playground stranded on the prior version until
someone synced it manually.

Route the bump through a pull request instead — the flow branch protection is
designed for. The bot commits the bump (signed off) on a per-run branch, opens
a PR, waits for the DCO check-run to conclude on the PR head, then merges.
DCO being green satisfies protection with no admin bypass.

Deploy moves after the merge and runs from this job: a merge performed with
GITHUB_TOKEN does not trigger ci.yml's push-to-main deploy, so relying on it
would leave the site un-deployed. The deploy step now also fetches the book
PDF so the rebuilt site isn't missing that asset.

Closes #30

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Baiju Muthukadan <baiju.m.mail@gmail.com>
@baijum
baijum merged commit 66ba087 into main Aug 7, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

update-wasm.yml can't push its version-bump commit: bot pushes can't satisfy the required DCO status check

1 participant