Skip to content

ci: automate CHANGELOG extraction for GitHub Release and release PR workflow#60

Merged
roottool merged 7 commits intomainfrom
feat/release-workflow-changelog
Mar 1, 2026
Merged

ci: automate CHANGELOG extraction for GitHub Release and release PR workflow#60
roottool merged 7 commits intomainfrom
feat/release-workflow-changelog

Conversation

@roottool
Copy link
Owner

@roottool roottool commented Mar 1, 2026

Description

This PR improves the release workflow in two ways:

  • prepare-release-pr.yml: The [Unreleased] CHANGELOG header is now rewritten to the versioned tag (e.g. [v1.2.3]) and CHANGELOG.md is staged alongside package.json in the release commit, so the header change ships as part of the release PR.
  • publish.yml: A new "Extract changelog section" step uses awk to pull the versioned section from CHANGELOG.md and passes it to the GitHub Release body via an env var, so migration guides appear in the Release body alongside the auto-generated notes.

Also includes a batch of documentation corrections across README, CHANGELOG, AGENTS.md, PUBLISHING.md, and skill references to align type definitions with the actual v0.2.0 shapes.

Type of Change

  • Tooling / CI (changes to build tools, CI configuration)
  • Documentation (changes to documentation only)

Boundary Checklist (Required for Implementation Changes)

  • This is a non-implementation change (Documentation, Tooling, or CI only)
    • Reason: All changes are limited to CI workflows and documentation. No source code or parser logic is modified.

Security & API Stability

Security Impact

  • No impact on security (no changes to forbidden keys, prototype safety)

API Contract

  • No changes to public API (parse function signature, type definitions)
  • No breaking changes to ParseResult, ParseIssue, or IssueCode

Versioning

  • Change is compatible with current v0.x versioning policy

Testing

Automated Checks

  • TypeScript type checking passes (bun run check:type:source)
  • All tests pass (bun run test)
  • Build succeeds (bun run build)

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

roottool and others added 7 commits March 2, 2026 02:38
…e commit

On release branch creation, rewrite the [Unreleased] section header to
the versioned tag (e.g. [v1.2.3]) via sed, and stage CHANGELOG.md
alongside package.json so the header change ships in the release PR.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add an "Extract changelog section" step that uses awk to pull the
versioned section from CHANGELOG.md and trim surrounding blank lines.
Pass the result to "Create GitHub Release" via an env var so the
migration guide appears in the Release body alongside the auto-generated
notes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
key existed in v0.1.x as `key?: unknown`. The actual change was
narrowing it to required `string`, not adding it from scratch.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add the missing key?: unknown field to the v0.1.x interface snapshot,
and correct the comment from "added" to "narrowed" to match reality.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace the outdated interface with the actual discriminated union type.
Update the accompanying bullet point to reflect that issues is [] on
success and non-empty on failure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace `issues: ParseIssue[]` with `issues: [ParseIssue, ...ParseIssue[]]`
in api-contract.md (type narrowing comment) and good-code.md (type
definition and narrowing comment), matching the actual v0.2.0 type.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AGENTS.md: correct ParseResult failure issues type from ParseIssue[]
to [ParseIssue, ...ParseIssue[]], matching the actual v0.2.0 type.

docs/PUBLISHING.md: add missing "Update CHANGELOG" step to the
Prepare Release PR workflow overview.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@roottool roottool self-assigned this Mar 1, 2026
@codecov
Copy link

codecov bot commented Mar 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (dcdd746) to head (7f1e2e8).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #60   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            3         3           
  Lines           23        23           
  Branches         5         5           
=========================================
  Hits            23        23           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@roottool roottool merged commit ba01474 into main Mar 1, 2026
13 checks passed
@roottool roottool deleted the feat/release-workflow-changelog branch March 1, 2026 18:13
@roottool roottool added ci Some changes have been changed to CI. documentation Improvements or additions to documentation labels Mar 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Some changes have been changed to CI. documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant