Skip to content

Commit abe5c4f

Browse files
authored
Add release process documentation to RELEASE.md (#49)
1 parent ce26f82 commit abe5c4f

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

RELEASE.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
## Release Process
2+
3+
Follow these steps when releasing the Nightwatch Browserstack plugin:
4+
5+
1. **Merge the corresponding pull request (PR)** using squash and merge.
6+
2. **Clone a fresh copy of the repository locally** to avoid publishing uncommitted files.
7+
3. Run `npm install` (or `npm i`) to install dependencies.
8+
4. Run `npm audit fix` to automatically resolve fixable vulnerabilities.
9+
_Note: This only changes `package-lock.json`. It is safer than using `--force`, which may change package versions unexpectedly._
10+
5. **Commit and push** any changes resulting from `npm audit fix`.
11+
6. **Bump the version** in `package.json` (e.g., `3.6.2``3.7.0` for a minor bump).
12+
7. Run `npm install` again to update `package-lock.json` after the version bump.
13+
8. **Stage and commit** the version bump changes.
14+
_Release commit names should match the version number, e.g., `3.7.0`._
15+
9. Add a tag:
16+
```sh
17+
git tag v3.7.0
18+
```
19+
10. Push commits **and tags**:
20+
```sh
21+
git push origin main --tags
22+
```
23+
11. **Login to npm (if not already authenticated):**
24+
```sh
25+
npm login
26+
```
27+
_Requires an npm account._
28+
12. **Publish the package to npm:**
29+
```sh
30+
npm publish
31+
```
32+
_Requires an npm account with permission for this package (typically by joining the Nightwatch organization on npm). For accounts with 2FA, a mobile verification code will be requested._
33+
13. **Create a release on GitHub:**
34+
- Select the new tag.
35+
- Generate release notes.
36+
- Publish the release.

0 commit comments

Comments
 (0)