Skip to content

Latest commit

 

History

History
77 lines (61 loc) · 2.21 KB

RELEASE.md

File metadata and controls

77 lines (61 loc) · 2.21 KB

Forge Release Process

Versioning

  • Follow the Semantic Versioning guidelines.
  • Use version X.Y.Z-dev in dev mode.
  • Use version X.Y.Z for releases.

Master Branch Release Process

Update the main repository:

  • Commit changes.
  • Update the CHANGELOG as needed using rougly Keep a CHANGELOG style.
  • $EDITOR package.json: update to release version and remove -dev suffix.
  • git commit package.json -m "Release {version}."
  • git tag {version}
  • $EDITOR package.json: update to next version and add -dev suffix.
  • git commit package.json -m "Start {next-version}."
  • git push
  • git push --tags

Publish to NPM:

To ensure a clean upload, use a clean updated checkout, and run the following:

  • git checkout {version}
  • npm install
  • npm publish

Update bundled distribution

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 install
    • npm 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 push
    • git push origin {version}

Older Branch Release Process

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.git
    • git fetch upstream
  • Merge changes:
    • git checkout 0.6.x
    • git merge upstream/0.6.x
  • Push code and tag(s):
    • git push
    • git push origin {version}