Skip to content

Latest commit

 

History

History
50 lines (39 loc) · 2.49 KB

File metadata and controls

50 lines (39 loc) · 2.49 KB

Release Process

MultiCloudJ uses Release Please for automated release management.

How It Works

  1. Development: Commit changes to feature branches using Conventional Commits format:

    • feat: - New features
    • fix: - Bug fixes
    • perf: - Performance improvements
    • blobstore: - Blob Store changes
    • docstore: - Document Store changes
    • sts: - STS changes
    • pubsub: - PubSub changes
    • iam: - IAM changes
    • refactor: - Code refactoring
    • docs: - Documentation updates
    • test: - Test updates
    • chore: - Maintenance tasks
  2. Merge to Main: When PRs are merged to the main branch, Release Please automatically:

    • Analyzes commit messages
    • Creates/updates a release PR with:
      • Updated version in pom.xml
      • Generated CHANGELOG.md entries
      • Release notes
    • #f03c15 Release PRs are of this format: chore(main): release multicloudj <version>
    • #f03c15 IMPORTANT: the release PR is updated on every merge to main, merge ONLY when ready to release. Example of the release PR #218
  3. Create Release: When the release PR is merged:

    • Maintainers get the notification to approve the release on email. Once approved:
    • Release Please create a GitHub release and tag. Example: https://github.com/salesforce/multicloudj/releases/tag/multicloudj-v0.2.22
    • CHANGELOG is updated.
    • GitHub Actions workflow automatically:
      • Builds the project (mvn clean verify)
      • Runs all tests
      • Deploys artifacts to Maven Central using the release profile
      • Signs artifacts with GPG
    • Creates the PR for the snapshot version bump with title chore(main): release multicloudj <version++>-SNAPSHOT . For example: #229

Manual Steps

#f03c15 No manual steps are required. The entire release process is automated through GitHub Actions.

Important:

  • #f03c15 Do not create any tags manually, it breaks the state of release-please
  • #f03c15 Do not merge any PR's between the release and the snapshot update PR's by release-please.