Regenerate this script with:
tools/kraken -c Carbon -d 2018-03-06 -u DANGER -p https://github.com/nodejs/node/pull/18336 8.10.0
Your settings:
- Version:
8.10.0
- Previous version:
10.0.0
- Remote branch:
DANGER/v8.x
- Release type:
LTS
- Release date:
2018-03-06
Note: If you haven't used this script before, check out the requirements by running: tools/kraken -h
- Get on the right branch and update it
git fetch DANGER; git checkout v8.x; git merge --fast-forward DANGER/v8.x
- Cherry-pick commits from master:
branch-diff v8.x-staging DANGER/v9.x --exclude-label semver-major,semver-minor,dont-land-on-v8.x,backport-requested-v8.x, backported-to-v8.x --filter-release
- Check out the proposal branch
git checkout -b v8.10.0-proposal v8.x-staging # TODO(gib): Confirm this.
- Create an initial release commit
git commit -am "2018-03-06 Version 8.10.0 'Carbon' (LTS)"
- Raise a PR with your changes, copy the PR-URL or PR number, and rerun the
script. # TODO(gib): Make this conditional on PR being unset.
tools/kraken -c Carbon -d 2018-03-06 -u DANGER -p https://github.com/nodejs/node/pull/18336 8.10.0 -p <PR>
- Update src/node_version.h with the new version and set release bit.
# TODO(gib): Make sure these work. sed -i "s/NODE_MAJOR_VERSION [0-9]\+$/NODE_MAJOR_VERSION 8/" src/node_version.h sed -i "s/NODE_MINOR_VERSION [0-9]\+$/NODE_MINOR_VERSION 10/" src/node_version.h sed -i "s/NODE_PATCH_VERSION [0-9]\+$/NODE_PATCH_VERSION 0/" src/node_version.h sed -i "s/NODE_VERSION_IS_LTS [0-1]$/NODE_VERSION_IS_LTS 1/" src/node_version.h # TODO(gib): This is broken. sed -i "s/NODE_VERSION_LTS_CODENAME \"$/NODE_VERSION_LTS_CODENAME 1/" src/node_version.h sed -i "s/NODE_VERSION_IS_RELEASE [0-1]$/NODE_VERSION_IS_RELEASE 1/" src/node_version.h
- Generate the changelog for the release.
changelog-maker --group --filter-release --start-ref v10.0.0 >release-8.10.0-changelog cp release-8.10.0-changelog release-8.10.0-notable
- Add changelog to doc/changelogs/CHANGELOG_v8.md:
# TODO(gib): Finish this. sed -i ""
- Manually edit the notable changes file
$VISUAL release-8.10.0-notable
- Add notable changes to doc/changelogs/CHANGELOG_v8.md:
# TODO(gib): Finish this. sed -i ""
- Update REPLACEME tags:
grep REPLACEME doc/api/*.md sed -i "s/REPLACEME/8.10.0/g" doc/api/*.md
- Check for DEP00XX tags:
grep DEP00XX doc/api/*.md
- Add changes to release commit
git commit --amend -am "2018-03-06 Version 8.10.0 'Carbon' (LTS) Notable changes: $(cat release-8.10.0-notable) PR-URL: https://github.com/nodejs/node/pull/18336" git push -u v8.10.0-proposal
- List interesting changes here
- Particularly changes that are responsible for minor or major version bumps
- Also be sure to look at any changes introduced by dependencies such as npm
- ... and include any notable items from there
-
Run node-test-pull-request, citgm-smoker, and iojs-release to create and test the rc.
-
Generate the tag:
git secure-tag v8.10.0 $(git rev-parse --short HEAD) -sm "2018-03-06 Node.js v8.10.0 'Carbon' (LTS) Release"
-
Update src/node_version.h with the new version and unset release bit.
sed -i "s/NODE_PATCH_VERSION [0-9]\+$/NODE_PATCH_VERSION 1/" src/node_version.h sed -i "s/NODE_VERSION_IS_RELEASE [0-1]$/NODE_VERSION_IS_RELEASE 0/" src/node_version.h
-
Create Working on... commit, and merge v8.10.0-proposal into v8.x
git commit -am "Working on v8.10.1 PR-URL: https://github.com/nodejs/node/pull/18336" git push DANGER v8.10.0-proposal git checkout v8.x git fetch --all git merge --ff-only v8.10.0-proposal git push DANGER v8.x git checkout v8.x-staging git rebase v8.x git push --force-with-lease v8.10.0-staging
-
Delete the v8.10.0-proposal branch in nodejs/node#18336
-
Merge v8.10.0-proposal into v8.x, and rebase v8.x-staging on it.
git fetch --all git checkout master git reset --hard DANGER master git cherry-pick v8.10.0 git reset src/node_version.h git checkout src/node_version.h git add -A git cherry-pick --continue # If you have Changelog conflicts, fix them manually. git push DANGER master
-
Workaround the bug in tools/release.sh
echo "Could not find signed tag for \"\" or GPG key is not yours" -exit 1 +# exit 1
-
Promote and sign the release builds.
tools/release.sh
-
Check the release is at https://nodejs.org/dist/v8.10.0
-
Create a blog post:
# cd /path/to/nodejs.org git fetch --all git checkout master git reset --hard up/master # TODO(gib): Fix this for other remotes. git checkout -b v8.10.0 npm i node scripts/release-post.js 8.10.0 $VISUAL locale/en/blog/release/v8.10.0.md npm run serve # Check that the post looks okay when rendered. git add locale/en/blog/release/v8.10.0.md git commit -m "Blog: v8.10.0 release post Refs: https://github.com/nodejs/node/pull/18336" git push -u fork v8.10.0
-
Create and Squash and Merge the PR.
-
Tweet about it:
⚜️ v8.9.1 of @nodejs is out! ⚜️ <Notable changes> https://nodejs.org/en/blog/release/v8.10.0/ Get it with `nvm i --lts`