From a6b9bff652bf2824eeb615f6141f6f275dcf1ea7 Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Wed, 13 Feb 2019 16:51:44 -0800 Subject: [PATCH] update release steps [ci skip] Signed-off-by: Christopher Hiller --- MAINTAINERS.md | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index a721afd145..55c76793c1 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -338,14 +338,24 @@ By using milestones, we can cherry-pick non-breaking changes into minor or patch 1. Decide whether this is a `patch`, `minor`, or `major` release. 1. Checkout `master` in your working copy & pull. -1. Modify `CHANGELOG.md`; follow the existing conventions in that file. Commit this file only; add `[ci skip]` to the commit message to avoid a build. +1. Modify `CHANGELOG.md`; follow the existing conventions in that file. Use the "pull request" number, unless there isn't one. *You do not need to add Markdown links; this is done automatically.* + 1. You can omit stuff from `CHANGELOG.md` that was done by a maintainer, but would have no interest to consumers of Mocha. + 1. If the changes aren't of interest to consumers but *were not* made by a maintainer, reference them anyway. It's cool to give attribution! 1. Use `npm version` (use `npm@6+`) to bump the version; see `npm version --help` for more info. (Hint--use `-m`: e.g., `npm version patch -m 'Release v%s'`) + 1. This command will update the list of contributors (from the Git history) in `package.json`, and add GitHub links to `CHANGELOG.md`. + 1. These changes are then added to the Git "stage" and will be added to the commit. 1. Push `master` to `origin` with your new tag; e.g. `git push origin master --tags` -1. Copy & paste the added lines to a new GitHub "release". Be sure to add any missing link references (use "preview" button). Save release as draft. -1. Meanwhile, you can check [the build](https://travis-ci.org/mochajs/mocha) on Travis-CI. +1. Copy & paste the `CHANGELOG.md` lines to a new GitHub "release". Save release as draft. +1. Meanwhile, you can check [the build](https://travis-ci.org/mochajs/mocha) on Travis-CI and [AppVeyor](https://ci.appveyor.com/project/boneskull/mocha). 1. Once the build is green, and you're satisfied with the release notes, open your draft release on GitHub, then click "publish." -1. Back in your working copy, run `npm publish`. -1. Announce the update on Twitter or just tell your dog or something. New releases will be automatically tweeted by [@b0neskull](https://twitter.com/b0neskull). +1. Back in your working copy, run `npm publish`. *If you're doing a prerelease, ensure that you use `--tag=next`.* +1. Announce the update on Twitter or just tell your dog or something. New releases will be automatically tweeted by [@b0neskull](https://twitter.com/b0neskull) via a feed subscription to Mocha's "releases" page on GitHub. + +In addition to above, you'll need to ensure the docs at [https://mochajs.org](https://mochajs.org) are updated: + +1. *If you're doing a prerelease*, fast-forward the `next` branch to `master`, and push it. This updates [https://next.mochajs.org](https://next.mochajs.org). That's all. +1. *If this is NOT a prerelease*, fast-forward the `mochajs.org` branch to `master` and push it. This updates [https://mochajs.org](https://mochajs.org). +1. *If this is a "final" release* (the first release of a major *after* one or more prereleases) then remove the `next` tag from npm via `npm dist-tag rm next`. *Note: there are too many steps above.*