diff --git a/docs/releasing.md b/docs/releasing.md index 37bec28d..ce4a871d 100644 --- a/docs/releasing.md +++ b/docs/releasing.md @@ -2,6 +2,10 @@ **Note** These steps all assume that `MithrilJS/mithril.js` is a git remote named `mithriljs`, adjust accordingly if that doesn't match your setup. +- [Releasing a new Mithril version](#releasing-a-new-mithril-version) +- [Updating mithril.js.org](#updating-mithriljsorg) +- [Releasing a new ospec version](#releasing-a-new-ospec-version) + ## Releasing a new Mithril version ### Prepare the release @@ -112,3 +116,61 @@ $ git push mithriljs ``` After the Travis build completes the updated docs should appear on https://mithril.js.org in a few minutes. + +## Releasing a new ospec version + +1. Ensure your local branch is up to date + +```bash +$ git co next +$ git pull --rebase mithriljs next +``` + +2. Determine patch level of the change +3. Update `version` field in `ospec/package.json` to match new version being prepared for release +4. Commit changes to `next` + +``` +$ git add . +$ git commit -m "chore(ospec): ospec@" + +# Push to your branch +$ git push + +# Push to MithrilJS/mithril.js +$ git push mithriljs next +``` + +### Merge from `next` to `master` + +5. Switch to `master` and make sure it's up to date + +```bash +$ git co master +$ git pull --rebase mithriljs master +``` + +6. merge `next` on top of it + +```bash +$ git checkout next -- ./ospec +$ git add . +$ git commit -m "chore(ospec): ospec@" +``` + +7. Ensure the tests are passing! + +### Publish the release + +8. Push the changes to `MithrilJS/mithril.js` + +```bash +$ git push mithriljs master +``` + +9. Publish the changes to npm **from the `/ospec` folder**. That bit is important to ensure you don't accidentally ship a new Mithril release! + +```bash +$ cd ./ospec +$ npm publish +```