From 79260d22cdb46546a5d199e49c21f3bcb22a36d9 Mon Sep 17 00:00:00 2001 From: Philipp Muens Date: Tue, 2 Aug 2016 09:53:41 +0200 Subject: [PATCH 1/5] Add RELEASE_CHECKLIST.md file --- RELEASE_CHECKLIST.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 RELEASE_CHECKLIST.md diff --git a/RELEASE_CHECKLIST.md b/RELEASE_CHECKLIST.md new file mode 100644 index 000000000..8f8a9c517 --- /dev/null +++ b/RELEASE_CHECKLIST.md @@ -0,0 +1,14 @@ +# Release checklist + +This checklist should be worked through when releasing a new Serverless version. + +1. Update Segment.io key +2. Look through all open issues and PRs (if any) and close them / move them to another Milestone +3. Look through all closed PRs and Issues to see what has changed +4. Create a Serverless service (with some events), deploy and test it intensively +5. Look through the milestone and test all of the new major changes +6. Run "npm test" +7. Run "npm run integration-test" +8. Close milestone +9. Create a new release in GitHub +10. Publish new version on npm From 1930d9d9b0c82a03a7292d080901c1edf698c442 Mon Sep 17 00:00:00 2001 From: Philipp Muens Date: Tue, 2 Aug 2016 09:55:36 +0200 Subject: [PATCH 2/5] Add note that Segment.io key should never be pushed to GitHub --- RELEASE_CHECKLIST.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE_CHECKLIST.md b/RELEASE_CHECKLIST.md index 8f8a9c517..ddbff8100 100644 --- a/RELEASE_CHECKLIST.md +++ b/RELEASE_CHECKLIST.md @@ -2,7 +2,7 @@ This checklist should be worked through when releasing a new Serverless version. -1. Update Segment.io key +1. Update Segment.io key (never push the change to GitHub) 2. Look through all open issues and PRs (if any) and close them / move them to another Milestone 3. Look through all closed PRs and Issues to see what has changed 4. Create a Serverless service (with some events), deploy and test it intensively From ed942095c0d7e1edac4da5926ed15da8087fd4b5 Mon Sep 17 00:00:00 2001 From: Philipp Muens Date: Tue, 2 Aug 2016 10:00:39 +0200 Subject: [PATCH 3/5] Update so that review of PRs and Issues are milestone specific --- RELEASE_CHECKLIST.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/RELEASE_CHECKLIST.md b/RELEASE_CHECKLIST.md index ddbff8100..096b2f619 100644 --- a/RELEASE_CHECKLIST.md +++ b/RELEASE_CHECKLIST.md @@ -3,8 +3,9 @@ This checklist should be worked through when releasing a new Serverless version. 1. Update Segment.io key (never push the change to GitHub) -2. Look through all open issues and PRs (if any) and close them / move them to another Milestone -3. Look through all closed PRs and Issues to see what has changed +2. Look through all open issues and PRs (if any) of that milestone and close them / move them to another +milestone +3. Look through all closed issues and PRs of that milestone to see what has changed 4. Create a Serverless service (with some events), deploy and test it intensively 5. Look through the milestone and test all of the new major changes 6. Run "npm test" From 1da9b2aee17a9df868d64b221c31fca7476e283c Mon Sep 17 00:00:00 2001 From: Philipp Muens Date: Wed, 3 Aug 2016 14:19:34 +0200 Subject: [PATCH 4/5] Add note to create a changelog when releasing on GitHub --- RELEASE_CHECKLIST.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE_CHECKLIST.md b/RELEASE_CHECKLIST.md index 096b2f619..bf9a4c92a 100644 --- a/RELEASE_CHECKLIST.md +++ b/RELEASE_CHECKLIST.md @@ -11,5 +11,5 @@ milestone 6. Run "npm test" 7. Run "npm run integration-test" 8. Close milestone -9. Create a new release in GitHub +9. Create a new release in GitHub (with corresponding changelog) 10. Publish new version on npm From a848b8161413b2eafb8cd63c30b794f33d7b12d6 Mon Sep 17 00:00:00 2001 From: Florian Motlik Date: Wed, 3 Aug 2016 15:53:33 +0200 Subject: [PATCH 5/5] Finishing Release Checklist --- RELEASE_CHECKLIST.md | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/RELEASE_CHECKLIST.md b/RELEASE_CHECKLIST.md index bf9a4c92a..519e58499 100644 --- a/RELEASE_CHECKLIST.md +++ b/RELEASE_CHECKLIST.md @@ -2,14 +2,26 @@ This checklist should be worked through when releasing a new Serverless version. -1. Update Segment.io key (never push the change to GitHub) -2. Look through all open issues and PRs (if any) of that milestone and close them / move them to another -milestone -3. Look through all closed issues and PRs of that milestone to see what has changed -4. Create a Serverless service (with some events), deploy and test it intensively -5. Look through the milestone and test all of the new major changes -6. Run "npm test" -7. Run "npm run integration-test" -8. Close milestone -9. Create a new release in GitHub (with corresponding changelog) -10. Publish new version on npm +## Pre-Release and testing +- [ ] Look through all open issues and PRs (if any) of that milestone and close them / move them to another +milestone if still open +- [ ] Look through all closed issues and PRs of that milestone to see what has changed +- [ ] Create a Serverless service (with some events), deploy and test it intensively +- [ ] Look through the milestone and test all of the new major changes +- [ ] Run "npm test" +- [ ] Run "npm run integration-test" + +## Release to NPM +- [ ] Create a new branch to bump version in package.json +- [ ] Bump version, send PR and merge PR with new version to be released +- [ ] Go back to branch you want to release from (e.g. master or v1) and pull bumped version changes from Github +- [ ] Make sure there are no local changes to your repository (or reset with `git reset --hard HEAD`) +- [ ] Create a git tag with the version (`git tag `) +- [ ] Push the git tag (`git push origin `) +- [ ] Check package.json Version config to make sure it fits what we want to release. *DO THIS, DON'T SKIP, DON'T BE LAZY!!!* +- [ ] Update Segment.io key (never push the key to GitHub and revert afterwards with `git checkout .`) +- [ ] Log into npm (`npm login`) +- [ ] Publish to NPM (`npm publish —-tag `, e.g. `npm publish --tag beta` or `npm publish` to release latest production framework) +- [ ] Validate NPM install works (`npm install -g serverless@` or `npm install -g serverless` if latest is released) +- [ ] Close milestone on Github +- [ ] Create a new release in GitHub for Release Notes