- Follow the Semantic Versioning guidelines.
- Use version X.Y.Z-dev in dev mode.
- Use version X.Y.Z for releases.
- Ensure tests pass.
- Commit changes.
- Update the CHANGELOG as needed using rougly Keep a CHANGELOG style.
$EDITOR package.json: update to release version and remove-devsuffix.git commit package.json -m "Release {version}."git tag {version}$EDITOR package.json: update to next version and add-devsuffix.git commit package.json -m "Start {next-version}."git pushgit push --tags
To ensure a clean upload, use a clean updated checkout, and run the following:
git checkout {version}npm installnpm publish
This is kept in a different repository to avoid the accumulated size when adding per-release bundles.
- Checkout forge-dist.
- Build a clean Forge version you want to distribute:
git checkout {version}npm installnpm run build
- Copy files to
forge-dist:cp dist/forge.min.js{,.map} dist/prime.worker.min.js{,.map} FORGEDIST/dist/
- Release
forge-dist:git commit -a -m "Release {version}."git tag {version}git pushgit push origin {version}
In order to provide support for Bower (and similar) for current built bundle releases and historical releases the forge-dist repository needs to be updated with code changes and tags from the main repository. Once a historical branch, like 0.6.x, on the main repository is updated and tagged, do the following:
- Checkout forge-dist.
- Setup an upstream branch:
git remote add upstream git@github.com:digitalbazaar/forge.gitgit fetch upstream
- Merge changes:
git checkout 0.6.xgit merge upstream/0.6.x
- Push code and tag(s):
git pushgit push origin {version}