4.1 KiB
Releasing a new version of Primer CSS 🎉
Prepare the release (in primer/css
)
-
Decide which PRs should be part of the next release and if it will be a major, minor or patch
<version>
. You may also check the release tracking project or ask your team members in Slack. -
Create a new release branch from
master
and name itrelease-<version>
. -
Run
npm version <version>
to update theversion
field in bothpackage.json
andpackage-lock.json
. -
Create a new PR for the
release-<version>
branch. Please use the following template for the PR description, linking to the relevant issues and/or pull requests for each change, removing irrelevant headings and checking off all of the boxes of the ship checklist:# Primer CSS [Major|Minor|Patch] Release Version: 📦 **0.0.0** Approximate release date: 📆 DD/MM/YY ### :boom: Breaking Change - [ ] Description # ### :rocket: Enhancement - [ ] Description # ### :bug: Bug Fix - [ ] Description # ### :nail_care: Polish - [ ] Description # ### :memo: Documentation - [ ] Description # ### :house: Internal - [ ] Description # ---- ### Ship checklist - [ ] Update the `version` field in `package.json` - [ ] Update `CHANGELOG.md` - [ ] Test the release candidate version with `github/github` - [ ] Merge this PR and [create a new release](https://github.com/primer/css/releases/new) - [ ] Update `github/github` - [ ] Tell the world (Slack, Twitter, Team post) For more details, see [RELEASING.md](https://github.com/primer/css/blob/master/RELEASING.md). /cc @primer/ds-core
-
Start merging existing PRs into the release branch. Note: You have to change the base branch from
master
to therelease-<version>
branch before merging. -
Update
CHANGELOG.md
-
Wait for your checks to pass, and take note of the version that primer/publish lists in your status checks.
ProTip: The release candidate version will always be
<version>-rc.<sha>
, where<version>
comes from the branch name and<sha>
is the 7-character commit SHA.
Test the release candidate (in github/github
):
-
Create a new branch in the
github/github
repo, name itprimer-<version>
. -
Update the Primer CSS version to the published release candidate with:
bin/npm install @primer/css@<version>-rc.<sha>
Then commit and push the changes to
package.json
,package-lock.json
,LICENSE
andvendor/npm
. -
If you need to make changes to github/github due to the Primer CSS release, do them in a branch and merge that into your release branch after testing.
-
Add or re-request reviewers and fix any breaking tests.
-
Test on review-lab.
Publish the release (in primer/css
)
-
If the release PR got approved and you've done necessary testing, merge it.
After tests run, the docs site will be deployed and
@primer/css
will be published with your changes to thelatest
dist-tag. You can check npm to see if primer/publish has finished. -
Create a new release with tag
v<version>
. -
Copy the changes from the CHANGELOG and paste them into the release notes.
-
Publish 🎉
Update github.com (in github/github
):
-
Install the latest published version in the same
primer-<version>
branch created earlier with:bin/npm install @primer/css@<version>
Then commit and push the changes to
package.json
,package-lock.json
,LICENSE
andvendor/npm
. -
Fix any breaking tests.
-
Deploy! 🚀
Publish the release
-
Create a new release with tag
v<version>
. -
Copy the changes from the CHANGELOG and paste them into the release notes.
-
Publish 🎉