2019-02-15 21:46:46 +03:00
# Releasing a new version of Primer CSS 🎉
2018-05-11 22:11:53 +03:00
2019-02-15 21:46:46 +03:00
## In this repo
2018-05-11 22:11:53 +03:00
2019-02-12 00:25:16 +03:00
1. Check off all of the boxes in your release PR.
2018-05-11 22:11:53 +03:00
2019-02-12 00:25:16 +03:00
1. Test your changes with the latest release candidate version [in github/github ](#in-github-github ).
2018-07-03 20:45:22 +03:00
2019-02-12 00:25:16 +03:00
1. Once the release PR is approved and you've done necessary testing, merge it. After tests run, the site will be deployed and `@primer/css` will be published with your changes.
2018-11-21 01:21:30 +03:00
2019-02-12 00:25:16 +03:00
1. Create a new release branch for the next release from `master` and name it `release-<version>` . Please use the following template for the PR description, linking to the relevant issues and/or pull requests for each change, and removing irrelevant headings:
2018-10-19 01:19:11 +03:00
```md
# Primer [Major|Minor|Patch] Release
2018-11-21 01:21:30 +03:00
Version: 📦 **0.0.0**
2018-10-19 01:19:11 +03:00
Approximate release date: 📆 DD/MM/YY
2018-11-21 01:21:30 +03:00
### :boom: Breaking Change
- [ ] Description #
2018-10-19 01:19:11 +03:00
2018-11-21 01:21:30 +03:00
### :rocket: Enhancement
- [ ] Description #
2018-10-19 01:19:11 +03:00
2018-11-21 01:21:30 +03:00
### :bug: Bug Fix
- [ ] Description #
### :nail_care: Polish
- [ ] Description #
### :memo: Documentation
- [ ] Description #
### :house: Internal
- [ ] Description #
2018-10-19 01:19:11 +03:00
----
### Ship checklist
2018-08-02 21:04:24 +03:00
2018-11-21 01:21:30 +03:00
- [ ] Update `CHANGELOG.md`
2019-02-21 22:48:13 +03:00
- [ ] Update the `version` field in `package.json` to match the release version
2019-02-12 02:09:08 +03:00
- [ ] [Create a new release ](https://github.com/primer/css/releases/new )
- [ ] [Update github/github ](https://github.com/primer/css/blob/master/RELEASING.md#in-githubgithub )
2018-10-19 01:19:11 +03:00
- [ ] Create a new pull request for the next release
2018-05-11 22:11:53 +03:00
2018-10-19 01:19:11 +03:00
/cc @primer/ds -core
```
2018-05-11 22:11:53 +03:00
2019-02-15 21:46:46 +03:00
1. 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.
2018-05-11 22:11:53 +03:00
### In `github/github`:
2019-02-15 21:46:46 +03:00
1. Create a new branch.
1. Update the Primer CSS version to the published release candidate with:
```sh
bin/npm install @primer/css @< version > -rc.< sha >
```
2018-05-11 22:11:53 +03:00
2019-02-15 21:46:46 +03:00
Then commit and push the changes to `package.json` , `package-lock.json` , and `vendor/npm` .
2019-02-12 00:25:16 +03:00
1. If you need to make changes to github/github due to the Primer release, do them in a branch and merge _that_ into your release branch after testing.
2018-05-11 22:11:53 +03:00
2019-02-12 00:25:16 +03:00
1. Add or re-request reviewers and fix any breaking tests.
2018-05-11 22:11:53 +03:00
2019-02-12 00:25:16 +03:00
1. Test on review-lab.
2018-05-11 22:11:53 +03:00
2019-02-15 21:46:46 +03:00
1. Publish `@primer/css` to the `latest` dist-tag by merging the release branch and waiting for [primer/publish] to finish.
1. Install the latest published version with:
```
bin/npm install @primer/css @< version >
```
2018-05-11 22:11:53 +03:00
2019-02-15 21:46:46 +03:00
Then commit and push the changes to `package.json` , `package-lock.json` , and `vendor/npm` .
2018-05-11 22:11:53 +03:00
2019-02-15 21:46:46 +03:00
1. Fix any breaking tests.
2019-02-12 00:25:16 +03:00
1. Deploy! :rocket:
2018-05-11 22:11:53 +03:00
2019-02-15 21:46:46 +03:00
### Publish the release
2018-05-11 22:11:53 +03:00
2018-11-22 02:29:13 +03:00
1. [Create a new release ](https://github.com/primer/primer/releases/new ) with tag `v<version>` .
2018-05-11 22:11:53 +03:00
2019-02-12 00:25:16 +03:00
2. Copy the changes from the [CHANGELOG] and paste them into the release notes.
2018-05-11 22:11:53 +03:00
3. Publish 🎉
2019-02-12 00:25:16 +03:00
[changelog]: ../CHANGELOG.md
2019-02-15 21:46:46 +03:00
[primer/publish]: https://github.com/primer/publish