Skip to content

Commit 234ddf4

Browse files
committed
Update release checklist
1 parent 0ff650b commit 234ddf4

File tree

1 file changed

+23
-28
lines changed

1 file changed

+23
-28
lines changed

RELEASE_CHECKLIST.md

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,45 @@
22

33
This checklist should be worked through when releasing a new Serverless version.
44

5+
More info about our release process can be found in the [`RELEASE_PROCESS.md`](./RELEASE_PROCESS.md) document.
6+
57
## Pre-Release
8+
69
- [ ] Look through all open issues and PRs (if any) of that milestone and close them / move them to another
710
milestone if still open
8-
- [ ] Look through all closed issues and PRs of that milestone to see what has changed. Run `./scripts/pr-since-last tag` or if you want to run against a specific tag `./scripts/pr-since-last tag v1.0.3` to get a list of all merged PR's since a specific tag
9-
- [ ] Close milestone on Github
10-
- [ ] Create a new release in GitHub for Release Notes (including breaking changes)
11+
- [ ] Look through all closed issues and PRs of that milestone to see what has changed. Run `./scripts/prs-since-last tag` or if you want to run against a specific tag `./scripts/prs-since-last tag v1.20.0` to get a list of all merged PR's since a specific tag
12+
- [ ] Close milestone on GitHub
13+
- [ ] Create a new draft release in GitHub
1114

1215
# Testing
16+
1317
- [ ] Create a Serverless service (with some events), deploy and test it intensively
14-
- [ ] Run integration test repository against the current release
1518
- [ ] Look through the milestone and test all of the new major changes
16-
- [ ] Run "npm test"
17-
- [ ] Run "npm run simple-integration-test"
18-
- [ ] Run "npm run complex-integration-test"
19+
- [ ] Run `npm test`
20+
- [ ] Run `npm run simple-integration-test`
21+
- [ ] Run `npm run complex-integration-test`
1922

2023
## Prepare Package
21-
- [ ] Create a new branch to bump version in package.json
22-
- [ ] Install the latest NPM version or Docker container with latest Node and NPM
23-
- [ ] Bump version in package.json, remove `node_modules` folder and run `npm install` and `npm prune --production && npm shrinkwrap`
24-
- [ ] Update CHANGELOG.md (including breaking changes)
24+
25+
- [ ] Create a new branch to bump version in `package.json`
26+
- [ ] Install the latest `npm` version or Docker container with latest `node` and `npm`
27+
- [ ] Bump version in `package.json`, remove `node_modules` folder and run `npm install` and `npm prune --production && npm shrinkwrap`
28+
- [ ] Look through closed PRs and update `CHANGELOG.md`
2529
- [ ] Make sure all files that need to be pushed are included in `package.json -> files`
2630
- [ ] Send PR and merge PR with new version to be released
27-
- [ ] Go back to branch you want to release from (e.g. master or v1) and pull bumped version changes from Github
31+
- [ ] Add the changes you made to `CHANGELOG.md` to the description of the GitHub release draft
32+
- [ ] Go back to branch you want to release from (e.g. `master`) and pull bumped version changes from GitHub
2833
- [ ] Make sure there are no local changes to your repository (or reset with `git reset --hard HEAD`)
29-
- [ ] Check package.json and npm-shrinkwrap.json version config to make sure it fits what we want to release. *DO THIS, DON'T SKIP, DON'T BE LAZY!!!*
34+
- [ ] Check `package.json`, `package-lock.json` and `npm-shrinkwrap.json` version config to make sure it fits what we want to release
3035

31-
## Git Tagging
32-
- [ ] Create a git tag with the version (`git tag <VersionName>`: `git tag v1.0.0`)
33-
- [ ] Push the git tag (`git push origin <VersionName>`)
36+
## Releasing
3437

35-
## Segment Configuration
36-
- [ ] Update Segment.io key in [segment.js file](https://github.com/serverless/serverless/blob/d31057239d232181128d978c392bdecbcb9fcf1b/lib/utils/segment.js#L7) (never push the key to GitHub and revert afterwards with `git checkout .`)
37-
- [ ] Check twice if you've used the correct key (**if in doubt ask which one to pick!**)
38-
- [ ] Run `./bin/serverless help` and filter for this new version in the Segment debugger to make sure data is sent to Segment for this new version
39-
40-
## Release to NPM
41-
- [ ] Log into npm (`npm login`)
42-
- [ ] Publish to NPM (`npm publish —-tag <TagForInstall>`, e.g. `npm publish --tag beta` or `npm publish` to release latest production framework)
43-
- [ ] Update Alpha/Beta accordingly so they point to the latest release. If its an Alpha Release the Beta tag should point to the latest stable release. This way Alpha/Beta always either point to something stable or the highest priority release in Alpha/Beta stage (`npm dist-tag add serverless@<VERSION> alpha`, `npm dist-tag add serverless@<VERSION> beta`)
38+
- [ ] Publish the GitHub release draft (Travis CI will automatically publish the new release to `npm`)
4439

4540
## Validate Release
46-
- [ ] Validate NPM install works (`npm install -g serverless@<TagForInstall>` or `npm install -g serverless` if latest is released)
47-
- [ ] Check Segment.com production data if events are coming in correctly with the new version
48-
- [ ] Make sure you run `git checkout .` to revert adding Segment write key
41+
42+
- [ ] Validate that `npm install` works (`npm install -g serverless@<new-tag>` or `npm install -g serverless` if latest is released)
4943

5044
## Post-Release
45+
5146
- [ ] Run `./scripts/generate-release-contributors-list <old-tag> <new-tag>` and hand the generated list over to the release blog post author

0 commit comments

Comments
 (0)