From db06fc68148ce6e1f37471570ead7e738fdd5dd7 Mon Sep 17 00:00:00 2001 From: Mike Grabowski Date: Fri, 23 Sep 2016 08:24:15 -0700 Subject: [PATCH] Better release script Summary: Automatically tags and publish them upstream, less steps required in order to do the release rather than just `bump-oss-version.js` Differential Revision: D3913826 Pulled By: bestander fbshipit-source-id: 6e023e7ab7b486ff6e6cc8e946f19e10a7ceeef8 --- Releases.md | 15 --------------- scripts/bump-oss-version.js | 13 +++++++++++++ 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/Releases.md b/Releases.md index a0cde460782182..55608312a489ba 100644 --- a/Releases.md +++ b/Releases.md @@ -48,9 +48,6 @@ git checkout -b -stable node ./scripts/bump-oss-version.js # e.g. node ./scripts/bump-oss-version.js 0.22.0-rc - -git push origin -stable --follow-tags -# e.g. git push origin 0.22-stable --follow-tags ``` Circle CI will automatically run the tests and publish to npm with the version you have specified (e.g `0.22.0-rc`) and tag `next` meaning that this version will not be installed for users by default. @@ -113,9 +110,6 @@ If everything worked: ```bash node ./scripts/bump-oss-version.js # e.g. node ./scripts/bump-oss-version.js 0.28.0-rc.1 - -git push origin version_you_are_releasing-stable --follow-tags -# e.g. git push origin 0.22-stable --follow-tags ```` ------------------- @@ -145,15 +139,6 @@ If everything worked: ```bash node ./scripts/bump-oss-version.js # e.g. node ./scripts/bump-oss-version.js 0.22.0 - -git tag -d latest -git push origin :latest - -git tag latest -# The latest tag marks when to regenerate the website. - -git push origin version_you_are_releasing-stable --follow-tags -# e.g. git push origin 0.22-stable --follow-tags ``` #### Update the release notes diff --git a/scripts/bump-oss-version.js b/scripts/bump-oss-version.js index 952ad503204647..90af22bbcba5a2 100644 --- a/scripts/bump-oss-version.js +++ b/scripts/bump-oss-version.js @@ -76,5 +76,18 @@ if (exec(`git tag v${version}`).code) { exit(1); } +// Push newly created tag +exec(`git push origin v${version}`); + +// Tag latest if doing stable release +if (version.indexOf(`rc`) === -1) { + exec(`git tag -d latest`); + exec(`git push origin :latest`); + exec(`git tag latest`); + exec(`git push origin latest`); +} + +exec(`git push origin ${branch} --follow-tags`); + exit(0); /*eslint-enable no-undef */