Skip to content

[ci] Version packages and generate changelogs with changesets - #4580

Merged
douglowder merged 5 commits into
mainfrom
doug/eng-26500-move-to-changesets
Oct 14, 2026
Merged

douglowder merged 5 commits into
mainfrom
doug/eng-26500-move-to-changesets

Conversation

@douglowder

@douglowder douglowder commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Why

In alignment with the move to changesets in expo/expo, we are moving to this model to make releases more reliable and remove the need to manually edit changelogs.

How

  • Add changeset dependencies
  • Modify release flows and changelog CI
    • Changelog CI will now check for a changeset unless the "no changelog" label is present
    • Hand edits to CHANGELOG.md will now fail the changeset workflow
    • After we merge this, the changeset workflow will be required for merging PRs, except for Dependabot

Test Plan

  • CI should pass
  • Dry run tests of the release flow
  • The new changeset workflow fails for this PR, that is expected (it removes the "main" section at the top of CHANGELOG.md)

Stack created with GitHub Stacks CLI • Give Feedback 💬

@douglowder
douglowder added this pull request to stack #4581 October 8, 2026 23:10
@linear-code

linear-code Bot commented Oct 8, 2026

Copy link
Copy Markdown

ENG-26500

@douglowder
douglowder force-pushed the doug/eng-26500-move-to-changesets branch from ecc9b54 to 89070b5 Compare October 8, 2026 23:12
@codecov

codecov Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.37%. Comparing base (14e14e3) to head (d9693a4).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4580   +/-   ##
=======================================
  Coverage   74.37%   74.37%           
=======================================
  Files        1027     1027           
  Lines       50215    50215           
  Branches    10856    10856           
=======================================
  Hits        37342    37342           
  Misses      11883    11883           
  Partials      990      990           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 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.

@douglowder
douglowder force-pushed the doug/eng-26500-move-to-changesets branch from 89070b5 to c3ea2f5 Compare October 9, 2026 15:29
@douglowder
douglowder force-pushed the doug/eng-26500-move-to-changesets branch from c3ea2f5 to 73f2eb2 Compare October 9, 2026 15:30
@douglowder douglowder added the no changelog PR that doesn't require a changelog entry label Oct 9, 2026
@douglowder
douglowder force-pushed the doug/eng-26500-move-to-changesets branch from 73f2eb2 to 1a21fab Compare October 11, 2026 21:48
Base automatically changed from doug/eng-26500-drop-node-20 to main October 11, 2026 22:45
@douglowder
douglowder force-pushed the doug/eng-26500-move-to-changesets branch from 1a21fab to 31d30ba Compare October 11, 2026 22:45
@douglowder
douglowder marked this pull request as ready for review October 11, 2026 23:18

@sjchmiela sjchmiela left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one blocking comment, otherwise looks good. we'll need to release the current changes from main right before merging this pull request

Comment thread .changeset/README.md Outdated

@szdziedzic szdziedzic left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with @sjchmiela comment

@douglowder

Copy link
Copy Markdown
Contributor Author

one blocking comment, otherwise looks good. we'll need to release the current changes from main right before merging this pull request

I've addressed the incorrect statement in .changeset/README.md, thanks for the reviews @sjchmiela @szdziedzic ! I'll announce on Slack and do a point release before merging this.

@douglowder
douglowder force-pushed the doug/eng-26500-move-to-changesets branch from f7b137f to ae596e7 Compare October 12, 2026 20:55
Comment thread .changeset/README.md Outdated
douglowder and others added 5 commits October 14, 2026 14:27
PRs now add a changeset in .changeset/ instead of editing CHANGELOG.md.
The manual release workflow runs scripts/src/versionPackages.ts, which
runs `changeset version` for one fixed group of all packages, writes the
root CHANGELOG.md section with the existing emoji categories, and then
commits, tags, and pushes vX.Y.Z. The tag-driven publish is unchanged,
except that it reads the changelog section from the tagged commit.

The PR check validates changesets with @changesets/parse and rejects
direct CHANGELOG.md edits. The "no changelog" label still skips it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dependabot PRs only update dependencies, so they need no changeset, and
their read-only token cannot post the PR comment. The job skips both for
them. The CHANGELOG.md check still runs. The workflow now sets explicit
token permissions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

❌ This PR needs a valid changeset. Run yarn changeset, select the changed packages and the bump type, and commit the new file in .changeset/. Do not edit CHANGELOG.md: the release generates it. The "Validate changesets" step log lists the problems.
⏩ If this PR doesn't require a changelog entry, such as if it's an internal change that doesn't affect the user experience, you can add the "no changelog" label to the PR. The label does not allow edits to CHANGELOG.md files.

@douglowder
douglowder merged commit 8545feb into main Oct 14, 2026
10 of 11 checks passed
@douglowder
douglowder deleted the doug/eng-26500-move-to-changesets branch October 14, 2026 21:57
This was referenced Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no changelog PR that doesn't require a changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants