Note These steps all assume that MithrilJS/mithril.js
is a git remote named mithriljs
, adjust accordingly if that doesn't match your setup.
- Ensure your local branch is up to date
$ git checkout next
$ git pull --rebase mithriljs next
- Determine patch level of the change
- Update information in
docs/change-log.md
to match reality of the new version being prepared for release - Replace all existing references to
mithril@next
tomithril
if moving from a release candidate to stable. - Commit changes to
next
$ git add .
$ git commit -m "Preparing for release"
# Push to your branch
$ git push
# Push to MithrilJS/mithril.js
$ git push mithriljs next
- Switch to
master
and make sure it's up to date
$ git checkout master
$ git pull --rebase mithriljs master
- merge
next
on top of it
$ git merge next
- Clean & update npm dependencies and ensure the tests are passing.
$ npm prune
$ npm i
$ npm test
npm run release <major|minor|patch|semver>
, see the docs fornpm version
- The changes will be automatically pushed to your fork
- Push the changes to
MithrilJS/mithril.js
$ git push mithriljs master
- Travis will push the new release to npm & create a GitHub release
This helps to ensure that the version
field of package.json
doesn't get out of date.
- Switch to
next
and make sure it's up to date
$ git checkout next
$ git pull --rebase mithriljs next
- Merge
master
back ontonext
$ git merge master
- Push the changes to your fork &
MithrilJS/mithril.js
$ git push
$ git push mithriljs next
- The GitHub Release will require a manual description & title to be added. I suggest coming up with a fun title & then copying the
docs/change-log.md
entry for the build.
Fixes to documentation can land whenever, updates to the site are published via Travis.
# These steps assume that MithrilJS/mithril.js is a git remote named "mithriljs"
# Ensure your next branch is up to date
$ git checkout next
$ git pull mithriljs next
# Splat the docs folder from next onto master
$ git checkout master
$ git checkout next -- ./docs
# Manually ensure that no new feature docs were added
$ git push mithriljs
After the Travis build completes the updated docs should appear on https://mithril.js.org in a few minutes.
Note: When updating the stable version with a release candidate out, make sure to update the index + navigation to point to the new stable version!!!
- Ensure your local branch is up to date
$ git checkout next
$ git pull --rebase mithriljs next
- Determine patch level of the change
- Update
version
field inospec/package.json
to match new version being prepared for release - Commit changes to
next
$ git add .
$ git commit -m "chore(ospec): ospec@<version>"
# Push to your branch
$ git push
# Push to MithrilJS/mithril.js
$ git push mithriljs next
- Switch to
master
and make sure it's up to date
$ git checkout master
$ git pull --rebase mithriljs master
- merge
next
on top of it
$ git checkout next -- ./ospec
$ git add .
$ git commit -m "chore(ospec): ospec@<version>"
- Ensure the tests are passing!
- Push the changes to
MithrilJS/mithril.js
$ git push mithriljs master
- Publish the changes to npm from the
/ospec
folder. That bit is important to ensure you don't accidentally ship a new Mithril release!
$ cd ./ospec
$ npm publish