-
Notifications
You must be signed in to change notification settings - Fork 679
build: automate release packaging and version bumps with changesets #2483
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2483 +/- ##
=======================================
Coverage 93.09% 93.09%
=======================================
Files 40 40
Lines 11239 11239
Branches 713 713
=======================================
Hits 10463 10463
Misses 764 764
Partials 12 12
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
zimeg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Noting some additional nuance and thoughts in these changes for the wonderful reviewers 🌚
|
|
||
| 7. Close GitHub Milestone | ||
| - Close the relevant GitHub Milestone for the release | ||
| When a PR containing changesets is merged to `main`, a different PR is opened or updating using [changesets/action](https://github.com/changesets/action) which consumes the pending changesets, bumps relevant package versions, and updates various `CHANGELOG` files in preparation to release. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📚 note: The CHANGELOG file specific to each package might match what's shown in GitHub releases but also perhaps we can use this downstream in documentation?
| { | ||
| "name": "@slack/client", | ||
| "version": "5.0.2", | ||
| "private": true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👁️🗨️ note: These package are EOL and shouldn't be published so the private field is used.
| - name: Setup Node | ||
| uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 | ||
| with: | ||
| node-version: 24 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📺 note: We're using node@24 for a supported npm version:
Trusted publishing requires npm CLI version 11.5.1 or later.
Summary
This PR adds Changesets to these packages for improved package release and publishing workflows:
The above command might be run alongside changes in packages to write entries for that package's next release. Other packages use this for detailed release notes as kind example:
@astrojs/rss: https://github.com/withastro/astro/blob/main/packages/astro-rss/CHANGELOG.md@biomejs/biome: https://github.com/biomejs/biome/blob/main/packages/%40biomejs/biome/CHANGELOG.mdWe might consider adding this to our release workflows to automate version bumps between dependent packages - as example
@slack/web-apiimports@slack/types- in addition to the other release and publishing scripts.Preview
📚 https://github.com/slackapi/node-slack-sdk/blob/zimeg-build-changesets/.github/maintainers_guide.md#-updating-changesets
👾 Publish Workflow: We might experiment with the changes of #2474 to confirm that this publishes packages and creates releases as expected!
Notes
@slack/package@nextinstead of a set version.https://github.blog/changelog/2025-07-31-npm-trusted-publishing-with-oidc-is-generally-available/
publishGitHub Actions environment will also need to be setup with correct review permissions.Requirements