Want to help improve SST? Thank you! Take a second to review this document before you get started.
There are two key areas that we could use your help with.
- Covering specific cases and setups
- Improving the documentation
To make sure that you are not working on something that's already being worked on, make sure to either:
- Open a new issue about it
- Or join us on Slack and send us a message
To run this project locally, clone the repo and initialize the project.
$ git clone https://github.com/serverless-stack/serverless-stack.git
$ cd serverless-stack
$ yarn
If you are working on the packages/resources
part, run the watcher.
$ cd packages/resources
$ yarn watch
And if you make changes to the stub Lambdas, you'll need to package them.
$ yarn build
Finally, after making your changes, run all the tests at the repo root.
$ yarn test
To run the docs site.
$ cd www
$ yarn start
To cut a release, follow these steps.
-
Generate changelog
$ yarn changelog
You'll need to configure the
GITHUB_AUTH
token locally to be able to run this. Follow these steps and configure the local environment variable. -
Draft a new release
Then copy the changelog that's generated and draft a new release.
Make necessary edits to the changelog to make it more readable and helpful.
Add this snippet at the bottom of the changelog and replace it with the version that's going to be released.
--- Update using: ```sh $ npm install --save --save-exact @serverless-stack/[email protected] @serverless-stack/[email protected] ```
Leave the draft as-is for now.
-
(Optional) Publish a canary release to npm
If you'd like to test your release before pushing it live, create a canary release by running.
$ yarn release-canary
-
Publish a release to npm
To publish the release to npm run:
$ yarn release
Pick the version you want (patch/minor/major) based on the type of changes in the changelog above.
Verify that only the 4 core packages (
core
,cli
,resources
,create-serverless-stack
) are getting published.Confirm and publish!
-
Publish GitHub release
Head back to the release draft from before. In the Tag version select the version that was just published to npm.
Copy-paste that version as the Release title. And hit Publish release.
Optionally, tweet this out!
Help us improve this doc. If you've had a chance to contribute to SST, feel free to edit this doc and submit a PR.