Skip to content

docs: add release process #48

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

Merged
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
82 changes: 82 additions & 0 deletions docs/release_process.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Release Process (v1.0.0)

## Version

> **The `[semantic version]` is bumped according to releases, new features, and breaking changes.**
>
> *The `main` branch uses the semantic version of the last released version.

## Process

**Note**: this guide assumes that the your git `torrust` remote is like this:

```sh
git remote show torrust
```

```s
* remote torrust
Fetch URL: [email protected]:torrust/torrust-index-api-lib.git
Push URL: [email protected]:torrust/torrust-index-api-lib.git
...
```

### 1. The `main` branch is ready for a release

```sh
npm install && npm run build
```

There should be no errors installing or building the library.

### 2. Change the version in the `package.json` file

Change the version in the `package.json` file. For example `3.0.0`.

> NOTICE: The `v` prefix is not needed.

Install and build to double-check:

```sh
npm install && npm run build
```

Commit the changes:

```sh
git add -A
git commit -m "feat: release [semantic version]"
```

### 3. Create a new tag an push to the remote

```sh
git tag v[semantic version]
git push torrust && git push torrust v[semantic version]
```

For example:

```sh
git tag v3.0.0
git push torrust && git push torrust v3.0.0
```

### 4. Manually publish the NPM package

```sh
npm publish
```

> IMPORTANT:
>
> - You will require to login.
> - You have to have permission for publishing on the Torrust namespace.

If you get an error because you were not logged in, just retry the same command after the login.

### 4. Check the package is published

You should receive an email when the package is published.

You can also check on the NPM registry: <https://www.npmjs.com/package/torrust-index-api-lib>.