Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@ const diagnostics_channel = require('dc-polyfill');
When a Pull Request is created the test suite runs against dozens of versions of Node.js. Notably, versions right before a change and versions right after a change, the first version of a release line, and the last version of a release line. To test locally it's recommended to use a node version management tool, such as `nvm`, to test changes with.


## Releasing

See [RELEASING.md](RELEASING.md) for the steps to publish a new version of `dc-polyfill` to npm.


## License / Copyright

See [LICENSE.txt](LICENSE.txt) for full details.
Expand Down
45 changes: 45 additions & 0 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Releasing

`dc-polyfill` is published to npm as [`dc-polyfill`](https://www.npmjs.com/package/dc-polyfill). Releases are currently cut manually by a maintainer with publish access to the package on npm.

## Prerequisites

- Push access to `main` on this repository.
- The [`gh`](https://cli.github.com/) CLI, authenticated against `DataDog/dc-polyfill`.
- Log in to an npm account with publish access to `dc-polyfill`. Check with `npm whoami`; run `npm login` if needed. If you don't have publish access, ask an existing maintainer.
Comment thread
bm1549 marked this conversation as resolved.
Outdated

## Cutting a release

```sh
# Make sure main is green and up to date.
git checkout main
git pull origin main

# Bump the version. Pick patch, minor, or major per semver.
# This updates package.json, creates a commit (e.g. "0.1.11"),
# and creates a matching v0.1.11 tag locally.
npm version patch

# Sanity-check what will be packed before publishing anything public.
npm publish --dry-run

# Publish to npm. Do this before pushing the tag so a failed publish
# doesn't leave a release tag in the repo that points at no npm version.
npm publish

# Push the version-bump commit and the tag.
git push origin main --follow-tags

# Create the GitHub release with autogenerated notes.
gh release create "v$(node -p "require('./package.json').version")" --generate-notes
```

## Verifying the release

```sh
# Confirm the new version is live on npm.
npm view dc-polyfill version

# Confirm the GitHub release exists.
gh release view "v$(node -p "require('./package.json').version")"
```
Loading