Steps for updating and releasing changes to Primer and it’s site.
Primer follows the semantic versioning approach:
- Bug fixes and docs updates are patch releases, so
- New additions are minor updates, so
- Deleting or rewriting anything are major updates, so
Changelogs and milestones
Changelogs are handled with dedicated tracking issues (see example). When starting work on a new release:
- Open a new milestone.
- Open a new tracking issue and immediately lock it. (No comments are needed, ship lists are just for us.)
- As you close issues and merge pull requests, add a link to those threads to the tracking issue.
When the release and milestone are about ready to ship, move on the releasing flow.
Have a new version to release? Hell yeah, let’s do it.
- Bump the version numbers in
_config.yml for our docs and
package.json for dependency management.
$ grunt to generate the latest compiled CSS and Parker stats.
- Recompile Jekyll for the latest docs changes.
- Punt any remaining open issues and PRs on the milestone to the next milestone, then close that milestone.
- Head to https://github.com/primer/primer/releases/ and create a new release. Title it
vX.X.X and post the changelog to the body.
$ grunt publish to push the latest docs and CSS changes to http://primercss.io.