You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+37Lines changed: 37 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,42 @@
1
1
# Contributing
2
2
3
+
## Release Process
4
+
5
+
### Current Process (Branch-based Releases)
6
+
7
+
The CLI uses a branch-based release process managed through `.github/workflows/manual-release.yml`. To create a release:
8
+
9
+
1. Run one of the following npm commands:
10
+
-`npm run release` - Test the release process without making changes (--dry-run by default)
11
+
-`npm run release:publish:beta` - Create and publish a beta release
12
+
-`npm run release:publish:latest` - Create and publish a latest release
13
+
14
+
2. The script will:
15
+
- Create a new release branch (format: `release-{type}-{timestamp}`)
16
+
- Run commit-and-tag-version to bump version and create tag
17
+
- Create a PR for the release changes
18
+
- Wait for PR review and merge
19
+
- After PR merge, push the tag to trigger the release workflow
20
+
21
+
3. The release workflow will:
22
+
- Verify the tag matches the package version
23
+
- Run tests
24
+
- Build platform-specific tarballs
25
+
- Create a draft GitHub release
26
+
- Upload to S3 distribution
27
+
- Publish to npm
28
+
29
+
### Planned Process (Release Please)
30
+
31
+
After our first stable release, we plan to switch to using [Release Please](https://github.com/google-github-actions/release-please-action) for automated releases. This will:
32
+
33
+
1. Automatically create release PRs based on conventional commits
34
+
2. Handle version bumping
35
+
3. Generate changelogs
36
+
4. Create releases when PRs are merged
37
+
38
+
The Release Please configuration is already in place (`.github/workflows/release.yml` and `release-please-config.json`) but is currently disabled.
0 commit comments