-
Create a release commit
-
Run prepublish script from the root of your local git repo. This will bump the version, build the documentation, and transpile + bundle
dist
assets../scripts/prepublish.sh
-
Commit and push to
master
:git commit -a -m "Release v[1.1.0]" git push
-
Create a release
- Draft a new release on GitHub
- Tag the release using the SemVer specification release format. For example,
v1.1.0
- Title the release using the release number. For example,
1.1.0
- Follow the format below for the release notes, then publish.
## 🚨 Breaking changes ## 🚀 Added ## 💅 Changed ## 🛠 Fixed ## 📦 Internal
Note: View commits since the last release on github by going to the releases page or run:
git log `git describe --tags --abbrev=0`..HEAD --oneline
-
-
Publish to NPM
- Log into NPM as
cmsgov
:npm whoami
.- To use an access token, edit your
~/.npmrc
file so the contents are//registry.npmjs.org/:_authToken={token}
- To use an access token, edit your
- Ensure JS unit tests, JS linting, and Sass linting pass locally.
yarn test
- Publish the release to NPM by running
This will run
./scripts/publish.sh
npm publish
for each public package inpackages/
. Note: You should only publish themaster
branch to NPM. The publish script above will check out themaster
branch if it isn't currently theHEAD
.
- Log into NPM as
-
Update the documentation website
-
The only parameter needed for deployment is the Git branch you'd like to deploy. The default is set to
master
. -
Deploy the CMS Design System to Akamai Netstorage via an automated Jenkins pipeline.
It is a multi-stage pipeline that executes the deploy in two stages:
- The first child job builds
design-system
, creates a tarball from the resulting artifacts, then uploads the tarball to S3. - The second child job downloads the tarball from S3, expands it onto the node Jenkins is using for the deploy, then copies the files to Netstorage via
scp
.
Note: Your CBJ user will need to be a member of the
wd-user
group or you will be unable to see the linked job above.Note: For a manual process: Visit the Documentation deploy process page in Confluence for these instructions.
-
The design system follows the SemVer specification.
Bug fixes and other minor changes: Increment the last number, e.g. 1.0.1
Examples:
- Backwards compatible Sass/JS bug fixes
- Tiny visual changes to make the UI more consistent
Backwards compatible new functionality, newly deprecated APIs, or substantial new functionality/improvements to private code: Increment the middle number, e.g. 1.1.0
Examples:
- Addition of a new component
- New classes, global variables, mixins, functions, or deprecated code
- Minor visual changes to existing components
Changes which break backwards compatibility: Increment the first number, e.g. 2.0.0
Example changes:
- Renamed or removed classes, mixins, functions, placeholders, or global variables.
- Major visual changes to existing components