Skip to content

Commit 9ea2f61

Browse files
update RELEASE.md
1 parent c22dfd1 commit 9ea2f61

File tree

1 file changed

+25
-12
lines changed

1 file changed

+25
-12
lines changed

RELEASE.md

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,30 @@ You can manually trigger the release workflow from the [GitHub Actions UI](https
1010

1111
### **Before triggering a release**
1212

13-
**Stable release (`npmjs_dist_tag = latest`)**
14-
1. Branch: must start with `release-` or `release/` (case-insensitive), e.g., `release/xrpl@4.3.8` or `release-xrpl-4.3.8`.
15-
2. Version: `packages/<package_name>/package.json` must use strict SemVer `x.y.z`.
16-
3. Tag: leave `npmjs_dist_tag` blank or set to `latest`.
17-
4. Lockfile: run `npm i` to refresh `package-lock.json` and commit it.
18-
19-
**Beta/experimental release (any other `npmjs_dist_tag`)**
20-
1. Branch: no `release-`/`release/` naming requirement.
21-
2. Version: `packages/<package_name>/package.json` can be prerelease/other valid SemVer.
22-
3. Tag: choose a non-`latest` `npmjs_dist_tag` matching `[a-z][a-z0-9._-]{0,127}` and not starting with `v` + digit or a digit; the workflow publishes it as `<tag>-experimental`.
23-
4. Lockfile: run `npm i` to refresh `package-lock.json` and commit it.
13+
**Stable release **
14+
1. Create a release branch. A qualified branch name should start with "release-" or "release/", case-insensitive. e.g: `release/xrpl@4.3.8`, `release-xrpl-4.3.8`, `Release/xrpl@4.3.8`.
15+
2. Raise a PR from the release branch to main branch
16+
3. Update the **`version`** field in `packages/<package_name>/package.json` to the intended release version.
17+
```json
18+
{
19+
"name": "<package_name>",
20+
"version": "x.y.z"
21+
}
22+
```
23+
4. Set `npm distribution tag` to `latest`.
24+
5. Run npm i to update the package-lock with the updated versions and commit the lock file to the release branch
25+
26+
**Beta release **
27+
1. Create a release branch. There is no restriction for branch name.
28+
2. 2. Update the **`version`** field in `packages/<package_name>/package.json` to the intended beta release version.
29+
```json
30+
{
31+
"name": "<package_name>",
32+
"version": "x.y.z-<beta|rc>.a"
33+
}
34+
```
35+
3. Provide a non-`latest` `npm distribution tag` and not starting with `v` + digit or a digit. The workflow will automatically append `-experimental`, as `<tag>-experimental`.
36+
4. Run `npm i` to refresh `package-lock.json` and commit it.
2437

2538
### **Triggering a Release**
2639

@@ -45,7 +58,7 @@ You can manually trigger the release workflow from the [GitHub Actions UI](https
4558

4659
### **Reviewing the release details and scan result**
4760

48-
1. The pipeline will pause at the "Print Test/Security scan result and invite Dev team to review" step and also before the final release step, relevant team should review the release details and scan result.
61+
1. The pipeline will pause at the "Print Test/Security scan result and invite Dev team to review" step and also before the final release step, relevant team should review the release details and scan result. Stable release release will be reviewed by infosec team as Sec reviewer. Beta release will be reviewed by security champions from Dev team.
4962

5063

5164
---

0 commit comments

Comments
 (0)