Skip to content

ci(changelog): open changelog PR from platform-release dispatch - #771

Closed
atharva-bhange wants to merge 3 commits into
mainfrom
chore/changelog-sync
Closed

ci(changelog): open changelog PR from platform-release dispatch#771
atharva-bhange wants to merge 3 commits into
mainfrom
chore/changelog-sync

Conversation

@atharva-bhange

Copy link
Copy Markdown
Contributor

What changed

Adds the docs-side of the release-automation fan-out (Track F): a changelog-sync
GitHub Actions workflow that consumes the platform-release repository_dispatch
event and opens an editorial PR appending the new version section to the public
changelog page.

  • .github/workflows/changelog-sync.yml — receives repository_dispatch
    (types: [platform-release]), base64-decodes release_body_b64, runs the
    transform script against src/pages/changelog.mdx, then commits to a
    chore/changelog-<version> branch and opens a PR to main.
  • scripts/changelog-from-release.mjs — dependency-free (Node ≥20) transform
    that maps release-please sections (FeaturesNew Features,
    Bug Fixes, Performance ImprovementsImprovements, Reverts,
    BREAKING CHANGESBreaking Changes), drops unmapped sections (e.g. Chores),
    and inserts the generated section immediately below the marker.
  • scripts/changelog-from-release.test.mjsnode --test unit tests for
    transform and insert.
  • src/pages/changelog.mdx — inserts the insertion marker comment only
    ({/* changelog:insert-below … */}). Placeholder entries are intentionally
    left in place (a later human/editorial decision, Track G).

Why

Implements the docs changelog sync described in RELEASE-PROCESS-PLAN.md §5.4:
when future-agi cuts a platform release, the docs repo receives a dispatch and
raises an editorial PR so a human can rewrite raw commit bullets for a product
audience before publishing.

How verified

node --test scripts/changelog-from-release.test.mjs:

✔ transform maps release-please sections to changelog sections
✔ insert places section after marker and preserves the rest
✔ insert throws when marker missing
ℹ tests 3
ℹ pass 3
ℹ fail 0

End-to-end insert against the real src/pages/changelog.mdx placed
## v9.9.9 - <current month> on the line directly below the marker (above the
placeholder v2.0.0 entry), then restored the file.

actionlint .github/workflows/changelog-sync.yml → exit 0, no findings.
(Repo-root actionlint also reports pre-existing SC20xx findings in
deploy.yml, which this PR does not touch.)

Follow-ups

  • Placeholder changelog entries cleanup is deferred to Track G (human editorial).
  • The workflow depends on the org-level platform-release dispatch being wired
    from future-agi (Track D) and the RELEASE_BOT_TOKEN secret (Phase 0).

🤖 Generated with Claude Code

atharva-bhange and others added 3 commits July 23, 2026 16:34
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@atharva-bhange

Copy link
Copy Markdown
Contributor Author

Closing: process change — changes will be reviewed locally before committing; a fresh PR will follow after sign-off.

@atharva-bhange
atharva-bhange deleted the chore/changelog-sync branch July 23, 2026 11:07
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