Skip to content

publish: ship 3 stuck posts manually (cron blocked)#47

Merged
avrabe merged 2 commits intomainfrom
publish/2026-05-01-three-posts
May 1, 2026
Merged

publish: ship 3 stuck posts manually (cron blocked)#47
avrabe merged 2 commits intomainfrom
publish/2026-05-01-three-posts

Conversation

@avrabe
Copy link
Copy Markdown
Contributor

@avrabe avrabe commented May 1, 2026

Summary

The autopublish cron has been blocked since 2026-04-29 by org policy disallowing `GITHUB_TOKEN` to create PRs. The fix is in #46 but its CI is stuck. To not delay further, manually flip `draft = false` on the 3 posts that should already be live:

Post Was due
`overdoing-the-verification-chain` 2026-04-29
`variant-pruning-rust-mcdc` 2026-04-30
`cross-language-lto-three-quiet-barriers` 2026-05-01 (today)

Test plan

  • zola build clean (24 → 27 pages, 3 new posts visible)
  • CI passes
  • After merge: deploy publishes all 3 simultaneously
  • Verify on live site:
    • `/blog/overdoing-the-verification-chain/` returns 200
    • `/blog/variant-pruning-rust-mcdc/` returns 200
    • `/blog/cross-language-lto-three-quiet-barriers/` returns 200
    • All three appear on `/blog/` index

Once PR #46 (App-token fix) lands, the cron resumes for future posts.

🤖 Generated with Claude Code

avrabe and others added 2 commits May 1, 2026 11:50
Org policy "Allow GitHub Actions to create and approve pull requests"
is disabled, which silently kills `gh pr create` calls authed with
GITHUB_TOKEN. The cron has been failing for two days running (#43, #45)
with "GitHub Actions is not permitted to create or approve pull
requests" — three scheduled posts (overdoing-the-verification-chain,
variant-pruning-rust-mcdc, cross-language-lto) sat as drafts.

Mint a token from the PulseEngine Actions Helper App
(actions/create-github-app-token@v1) using the ACTIONS_BOT_APP_ID and
ACTIONS_BOT_PRIVATE_KEY repository secrets. The App's installation
grants Contents R/W + Pull requests R/W + Metadata R on this repo
only — strictly narrower than what the org-disabled GITHUB_TOKEN
would have had.

App-minted tokens authenticate as the App, not as Actions, so the
org-level restriction stays intact for the default token while this
single workflow has the explicit grant it needs.

Five surgical changes:
- New "Mint App token" step before checkout
- actions/checkout@v4 takes the App token (so credential helper uses it for `git push` later)
- Four env: GH_TOKEN swaps (Ensure labels exist, Publish ready posts, Post / update status comment, Open failure issue)

The existing permissions: block (contents/pull-requests/issues: write)
stays as-is for clarity / defense in depth, even though we no longer
use the default GITHUB_TOKEN in this job.

Token expires in 1 hour; workflow timeout is 15 min, so no rotation
logic needed.

Trigger workflow_dispatch after merge to flush the three stuck posts
in one run.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The autopublish cron has been blocked by org policy disallowing
GITHUB_TOKEN PR creation. The fix (App-minted token) is in PR #46 but
its CI is stuck queued. To not delay shipping further, flip draft
manually on the 3 posts that should have published 2026-04-29 / 30 / 05-01:

- overdoing-the-verification-chain (was due 2026-04-29)
- variant-pruning-rust-mcdc (was due 2026-04-30)
- cross-language-lto-three-quiet-barriers (was due today, 2026-05-01)

Once PR #46 lands and the cron resumes, future posts publish on their
date with no manual flip.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@avrabe avrabe merged commit 406d7fa into main May 1, 2026
1 check failed
@avrabe avrabe deleted the publish/2026-05-01-three-posts branch May 1, 2026 15:50
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