mirror of
https://github.com/serverless/serverless.git
synced 2026-01-18 14:58:43 +00:00
43 lines
2.7 KiB
Markdown
43 lines
2.7 KiB
Markdown
# Release checklist
|
|
|
|
This checklist should be worked through when releasing a new Serverless version.
|
|
|
|
More info about our release process can be found in the [`RELEASE_PROCESS.md`](./RELEASE_PROCESS.md) document.
|
|
|
|
## Pre-Release
|
|
|
|
- [ ] Look through all open issues and PRs (if any) of that milestone and close them / move them to another
|
|
milestone if still open
|
|
- [ ] Create a new branch for the release
|
|
- [ ] Bump version ranges of _all_ dependencies to latest supported versions (e.g. if latest version of a dependency is `2.3.5`, range in a `package.json` is `^2.2.4` then it should be updated to `^2.3.5`)
|
|
_Note: Unfortunately there seems no reliable utility to automate that (there's a [request at `npm-check-updates`](https://github.com/tjunnone/npm-check-updates/issues/581))
|
|
If you handle installation of dependencies through [npm-cross-link](https://github.com/medikoo/npm-cross-link#npm-cross-link) then [`--bump-deps`](https://github.com/medikoo/npm-cross-link#general-options) option will bump version ranges as expected_
|
|
- [ ] Bump the version number in `package.json`
|
|
- [ ] Run `./scripts/prs-since-last-tag <OLD-TAG>`
|
|
- [ ] Save the terminal output to your clipboard
|
|
- [ ] Close the milestone on GitHub
|
|
- [ ] Create a new [**draft** release](https://github.com/serverless/serverless/releases/new) in GitHub
|
|
- [ ] Use the content in your clipboard as a description (without the heading)
|
|
- [ ] Ensure that the "Tag version" follows our naming convention
|
|
|
|
## Prepare Package
|
|
|
|
- [ ] Install the latest `npm` version or Docker container with latest `node` and `npm` (Ensure to work with an `npm` version which is distributed with latest `node` version)
|
|
- [ ] Update `CHANGELOG.md` with the content from your clipboard
|
|
- [ ] Make sure all files that need to be pushed are included in `package.json -> files`
|
|
- [ ] Commit your changes (make sure that `package.json` and `CHANGELOG.md` are updated)
|
|
- [ ] Push your branch and open up a new PR
|
|
- [ ] Await approval and merge the PR into `master`
|
|
- [ ] Go back to the branch you want to release from (e.g. `master`) and pull the changes from GitHub
|
|
- [ ] Make sure there are no local changes to your repository (or reset with `git reset --hard HEAD`)
|
|
- [ ] Check `package.json` version config to make sure it fits what we want to release
|
|
|
|
## Releasing
|
|
|
|
- [ ] Publish the GitHub release draft (Travis CI will automatically publish the new release to `npm`)
|
|
- [ ] Update the branch ref in the site repo so docs are updated: https://github.com/serverless/site/blob/master/scripts/docs/config.js#L8
|
|
|
|
## Validate Release
|
|
|
|
- [ ] Validate that `npm install` works (`npm install -g serverless@<new-tag>` or `npm install -g serverless` if latest is released)
|