Skip to content

Commit c22dfd1

Browse files
update RELEASE.md
1 parent 7b4273b commit c22dfd1

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

RELEASE.md

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

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

13-
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`.
14-
2. Update the **`version`** field in `packages/<package_name>/package.json` to the intended release version.
15-
```json
16-
{
17-
"name": "<package_name>",
18-
"version": "x.y.z"
19-
}
20-
```
21-
3. Run npm i to update the package-lock with the updated versions and commit the lock file to the release branch
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.
2224

2325
### **Triggering a Release**
2426

25-
1. Go to **GitHub → Actions → Release Pipeline → Run workflow**
26-
2. Choose the release branch from dropdown
27-
3. Fill in these fields:
27+
1. Go to **GitHub → Actions → Release Pipeline → Run workflow** (must be triggered from `main`).
28+
2. Fill in these fields:
29+
- **release_branch_name** → Name of the release branch to run against.
2830
- **package_name** → The folder name under `packages/`, e.g., `xrpl` or `ripple-address-codec`.
2931
- **npmjs_dist_tag** → The npm distribution tag to publish under. Defaults to `latest`.
3032
- Examples:
@@ -34,10 +36,11 @@ You can manually trigger the release workflow from the [GitHub Actions UI](https
3436

3537
➡️ Example:
3638

37-
| Field | Example |
38-
|------------------|-----------------------|
39-
| package_name | xrpl |
40-
| npmjs_dist_tag | latest |
39+
| Field | Example |
40+
|---------------------|-----------------------|
41+
| release_branch_name | release/xrpl@4.3.8 |
42+
| package_name | xrpl |
43+
| npmjs_dist_tag | latest |
4144

4245

4346
### **Reviewing the release details and scan result**
@@ -58,6 +61,7 @@ You can manually trigger the release workflow from the [GitHub Actions UI](https
5861
### 2. **Run Tests**
5962
- Triggers the `faucet_test.yml` and `nodejs.yml` workflows to run unit, integration, and faucet tests against the specified Git ref.
6063
- Ensures the code at the given Git ref passes all tests.
64+
- Tests are allowed to fail for beta releases.
6165

6266
---
6367

0 commit comments

Comments
 (0)