Skip to content

Commit d41dec1

Browse files
docs: documenting the release process (#248)
1 parent ab2b3bd commit d41dec1

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

RELEASE.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Release Process
2+
3+
MultiCloudJ uses [Release Please](https://github.com/googleapis/release-please) for automated release management.
4+
5+
## How It Works
6+
7+
1. **Development**: Commit changes to feature branches using [Conventional Commits](https://www.conventionalcommits.org/) format:
8+
- `feat:` - New features
9+
- `fix:` - Bug fixes
10+
- `perf:` - Performance improvements
11+
- `blobstore:` - Blob Store changes
12+
- `docstore:` - Document Store changes
13+
- `sts:` - STS changes
14+
- `pubsub:` - PubSub changes
15+
- `iam:` - IAM changes
16+
- `refactor:` - Code refactoring
17+
- `docs:` - Documentation updates
18+
- `test:` - Test updates
19+
- `chore:` - Maintenance tasks
20+
21+
2. **Merge to Main**: When PRs are merged to the `main` branch, Release Please automatically:
22+
- Analyzes commit messages
23+
- Creates/updates a release PR with:
24+
- Updated version in `pom.xml`
25+
- Generated `CHANGELOG.md` entries
26+
- Release notes
27+
- ![#f03c15](https://placehold.co/15x15/f03c15/f03c15.png) Release PRs are of this format: `chore(main): release multicloudj <version>`
28+
- ![#f03c15](https://placehold.co/15x15/f03c15/f03c15.png) IMPORTANT: the release PR is updated on every merge to main, merge ONLY when ready to release. Example of the release PR https://github.com/salesforce/multicloudj/pull/218
29+
30+
3. **Create Release**: When the release PR is merged:
31+
- Maintainers get the notification to approve the release on email. Once approved:
32+
- Release Please create a GitHub release and tag. Example: https://github.com/salesforce/multicloudj/releases/tag/multicloudj-v0.2.22
33+
- [CHANGELOG](https://github.com/salesforce/multicloudj/blob/main/CHANGELOG.md) is updated.
34+
- GitHub Actions workflow automatically:
35+
- Builds the project (`mvn clean verify`)
36+
- Runs all tests
37+
- Deploys artifacts to Maven Central using the `release` profile
38+
- Signs artifacts with GPG
39+
- Creates the PR for the snapshot version bump with title `chore(main): release multicloudj <version++>-SNAPSHOT` . For example: https://github.com/salesforce/multicloudj/pull/229
40+
41+
## Manual Steps
42+
43+
![#f03c15](https://placehold.co/15x15/f03c15/f03c15.png) No manual steps are required. The entire release process is automated through GitHub Actions.
44+
45+
## Important:
46+
- ![#f03c15](https://placehold.co/15x15/f03c15/f03c15.png) Do not create any tags manually, it breaks the state of release-please
47+
- ![#f03c15](https://placehold.co/15x15/f03c15/f03c15.png) Do not merge any PR's between the release and the snapshot update PR's by release-please.
48+
49+
50+

0 commit comments

Comments
 (0)