This repository contains example/template workflows for automating the release of CoMapeo apps. These are currently in the early stages of development and are intended to verify some proposals for our release strategy, and at the same time facilitate the release process in the meantime.
- Manually triggered by the team when they want to start a new feature release. This marks the the feature-freeze of the current release cycle, and starts a new release cycle on the
develop
branch.
- Creates a new release branch from
develop
namedrelease/v${next_version}.x
- Creates a new release candidate branch from
develop
namedrc/v${next_version}.0
and bump thepackage.json
version to the target version. - Creates a new pull request from
rc/v${next_version}.0
torelease/v${next_version}.x
with the changes inrc/v${next_version}.0
.
A release candidate build will be triggered by the creation of the PR (see below).
- Opening a PR that targets a base branch that matches
release/**
- Commenting on a PR that targets a base branch that matches
release/**
with the/build-rc
command.
- Triggers a Release Candidate build on EAS
- Creates a comment on the Release Candidate PR with a link to the EAS build process.
- Merging a PR that targets a base branch that matches
release/**
- Triggers a Release build on EAS
- Creates a comment on the (merged) Release Candidate PR with a link to the EAS build process.
- Merging a PR that targets a base branch that matches
release/**
- Checks for any commits made to the release candidate since branching from
develop
that were not cherry-picked fromdevelop
. - Creates an issue to manually check any non-cherry-picked commits and add them to
develop
if necessary.
- Manually triggered by the team when they want to start a new hotfix release. User must enter the release version to hotfix.
- Creates a new release canddiate branch from the target release branch (e.g.
release/v4.x
) namedrc/v${release_version}.${hotfix_version}
. - Creates a new pull request from
rc/v${release_version}.${hotfix_version}
torelease/v${release_version}.x
.
A release candidate build will be triggered by the creation of the PR (see above).
- Opening, syncing or reopening a PR that targets a base branch that matches
release/**
- Checks there are no commits made to the release branch while a release candidate PR is open.
This check is important to ensure that the release candidate (and release) do not include unexpected code which has been pushed to the release branch after the release candidate branch was created.
- Commenting on a PR with the
/buildrc
command.
- Triggers the Build Release Candidate workflow.