Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the release instructions for the TS SDK #5735

Merged
merged 1 commit into from
Dec 1, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ecosystem/typescript/sdk/.npmignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
coverage
node_modules
.aptos
31 changes: 12 additions & 19 deletions ecosystem/typescript/sdk/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,25 +109,18 @@ This project follows [semver](https://semver.org/) as closely as possible.

To release a new version of the SDK do the following.

1. Regenerate the client:

```
pnpm generate-client
```

2. Test, lint and format:

```
pnpm test
pnpm lint
pnpm fmt
```

3. Bump the version in `package.json` according to [semver](https://semver.org/).
4. Add an entry in the CHANGELOG for the version. We adhere to [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
5. Once you're confident everything is correct, submit your PR. The CI will ensure that you have followed all the previous steps, specifically ensuring that the API, API spec, and SDK client are all compatible, that you've updated the changelog, that the tests pass, etc.
6. Land the PR on main.
7. Apply the changes to the devnet branch. CI will detect that the version has changed, build a new package, and upload it automatically to npmjs.
1. Check that the commit you're deploying from (likely just the latest commit of `main`) is green ln CI. Go to GitHub and make sure there is a green tick, specifically for the `sdk-release` release CI step. This ensures that the all tests, formatters, and linters passed, including server / client compatibility tests (within that commit) and tests to ensure the API, API spec, and client were all generated and match up.
2. Bump the version in `package.json` according to [semver](https://semver.org/).
3. Add an entry in the CHANGELOG for the version. We adhere to [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). Generally this means changing the "Unreleased" section to a version and then making a new "Unreleased" section.
4. Once you're confident everything is correct, submit your PR. The CI will ensure that you have followed all the previous steps, specifically ensuring that the API, API spec, and SDK client are all compatible, that you've updated the changelog, that the tests pass, etc.
5. Land the PR into the main branch. Make sure this commit comes up green in CI too.
6. Check out the latest commit on main.
7. Get the auth token from our password manager. Search for "npmjs". It should look like similar to this: `npm_cccaCVg0bWaaR741D5Gdsd12T4JpQre444aaaa`.
8. Run `pnpm publish --dry-run`. From here, make some sanity checks:
a. Look closely at the output of the command. {ay close attention to what is packaged. Make sure we're not including some files that were included accidentally. For example `.aptos`. Add those to .npmignore if needed.
b. Compare the summary with the public npm package summary on npmjs. The number of files and sizes should not vary too much.
9. Run `NODE_AUTH_TOKEN=<token> pnpm checked-publish`
10. Double check that the release worked by visitng npmjs: https://www.npmjs.com/package/aptos


[examples]: https://github.com/aptos-labs/aptos-core/blob/main/ecosystem/typescript/sdk/examples/
Expand Down