Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating release process docs #88

Merged
merged 1 commit into from
Nov 22, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 22 additions & 12 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,23 +72,33 @@ Issues labelled `good first contribution`.

# Release Process

### Branching Strategy:
## Branching Strategy

- **Main Branch**: Ongoing development and new features are submitted to the `main` branch.

- **Release Branches**: We'll utilize dedicated branches for managing releases.
- **Release Branch**: The `release` branch will represent the latest released/releasable code.

- **Major Release:**
- Create a new branch named `release-<major version>` (e.g., `release-2` for a `2.0` release) from `main` to manage the release process.
- Update the `.releaserc.json` file: Locate the `branches` property and specify the newly created release branch name (e.g., `release-2`).
- **Minor/Patch Release:**
- We will use existing major release branches (e.g. `release-2`) for subsequent minor and patch releases (e.g. `2.0.1`, `2.1.2`, etc.).
- Once changes are verified and merged into the release branch, they will be merged back to `main`.
## Preparing for a New Release

- **Trigger Release Manually:**
- Navigate to the `Actions` tab in GitHub repository.
- Select the `release` workflow from the left sidebar.
- Click the `Run workflow` button to initiate the release process.
- Code from `main` will be contributed to the `release` branch through a PR. Once reviewed,
it will be merged and ready to cut a new release.
- This process should be followed for major (`x+1.0.0`) and minor (`x.y+1.0`)
releases with new feature sets.

## Preparing a Patch to an Existing Release

- For patches to an existing release (`x.y.z+1`), PRs will be submitted directly against
the `release` branch. Once reviewed, PRs will be merged and ready to cut a new release.
- This process will only apply to bug fixes on the `release` branch.

## Cutting a Release

- This project leverages [`semantic-release`](https://github.com/semantic-release/semantic-release#readme)
to automatically determine SemVer versioning and publish the package to npmjs.com.
- To trigger a release:
- Navigate to the `Actions` tab in the GitHub repository
- Select the `release` workflow from the left sidebar
- Click the `Run workflow` button to initiate the release process

# Code of Conduct

Expand Down