68 lines
2.2 KiB
Markdown
68 lines
2.2 KiB
Markdown
# Creating a release
|
|
|
|
Only collaborators in npm for **node-api-headers** can create releases. If you
|
|
want to be able to do releases ask one of the existing collaborators to add
|
|
you. If necessary you can ask the build Working Group who manages the Node.js
|
|
npm user to add you if there are no other active collaborators.
|
|
|
|
Generally, the release is handled by the
|
|
[release-please](https://github.com/nodejs/node-api-headers/blob/main/.github/workflows/release-please.yml)
|
|
GitHub action. It will bump the version in `package.json` and publish
|
|
node-api-headers to npm.
|
|
|
|
In cases that the release-please action is not working, please follow the steps
|
|
below to publish node-api-headers manually.
|
|
|
|
## Publish new release manually
|
|
|
|
### Prerequisites
|
|
|
|
Before to start creating a new release check if you have installed the following
|
|
tools:
|
|
|
|
* [Changelog maker](https://www.npmjs.com/package/changelog-maker)
|
|
|
|
If not please follow the instruction reported in the tool's documentation to
|
|
install it.
|
|
|
|
### Steps
|
|
|
|
These are the steps to follow to create a new release:
|
|
|
|
* Open an issue in the **node-api-headers** repo documenting the intent to
|
|
create a new release. Give people some time to comment or suggest PRs that
|
|
should land first.
|
|
|
|
* Update the version in **package.json** appropriately.
|
|
|
|
* Update the [README.md][] to show the latest stable version of Node-API.
|
|
|
|
* Generate the changelog for the new version using **changelog maker** tool.
|
|
From the root folder of the repo launch the following command:
|
|
|
|
```bash
|
|
> changelog-maker --format=markdown
|
|
```
|
|
|
|
* Use the output generated by **changelog maker** to update the
|
|
[CHANGELOG.md][] following the style used in publishing the previous release.
|
|
|
|
* Add any new contributors to the "contributors" section in the
|
|
**package.json**.
|
|
|
|
* Do a clean checkout of `node-api-headers`.
|
|
|
|
* Login and then run `npm publish`.
|
|
|
|
* Create a release in Github (look at existing releases for an example).
|
|
|
|
* Validate that you can run `npm install node-api-headers` successfully
|
|
and that the correct version is installed.
|
|
|
|
* Comment on the issue opened in the first step that the release has been created
|
|
and close the issue.
|
|
|
|
* Tweet that the release has been created.
|
|
|
|
[README.md]: ./README.md
|
|
[CHANGELOG.md]: ./CHANGELOG.md |