Unlike other projects in Lockbox, this project releases new versions as needed by other projects.
- All finished work is verified to work as expected and committed to
master
- Engineering and PI have voiced approval to release (e.g., via Slack #lockbox channel)
NOTE: these instructions assume:
- All of the checklist items are complete
- You are an administrator of the project
lockbox-datastore
- Your local git working copy has a remote named
upstream
pointing to[email protected]:mozilla-lockbox/lockbox-datastore.git
To generate the next release binary:
- Update "version" in
package.json
(andpackage-lock.json
):- We follow the semver syntax
- Prerelease (prior to Stable) have a major version of "0" (e.g., "0.2.0")
- Beta releases will be labeled with "-beta" and an optional number (e.g., "0.2.0-beta" or "0.2.1-beta3")
- Stable releases will not be labeled, and follow semver starting with "1.0.0"
- Update
CHANGELOG.md
:- The latest release is at the top, under a second-level header
- Each release includes the sub headings "What's New", "What's Fixed", and "Known Issues"
- Consult with Product Management for wording if needed.
- Commit and ultimately merge to
master
branch. - Create a pull request on GitHub comparing changes from the
master
branch against/toproduction
- Tag the latest commit on
production
branch with an annotated version and push the tag:git tag -a -m "Release 0.3.0" 0.3.0
git push upstream 0.3.0
- Travis-CI will build and publish to npm
- Send an announcement to the team (e.g., via Slack #lockbox channel)