Overall Process
- Identify the long lived branch for the releasemodule version for the distribution
- Issue a pull request to that branch for the back ported change
- The pull review may be reviewed
- Merge the pull request
- When all of the fixes have been back ported, release a patch version of the module
Identifying the long lived branch for the release
- Find the platform complete branch for the distribution e.g. for 2021 R1, this is https://github.com/folio-org/platform-complete/tree/R1-2021
- Find the module version in the
install.json
e.g. for mod-patron this is https://github.com/folio-org/platform-complete/blob/7ba9ccae51085aaa9030e18e74aa2db77ae5b43f/install.json#L323 - The branch should be named after the
major
and minor
version of the module e.g. for 4.4.0
it would be b4.4
, for 4.5.0
it would be b4.5
- If the branch does not exist
- create it based upon the release tag, e.g. to create a long lived branch for version
4.4
, use git checkout -b b4.4 v4.4.0
- change the version of the module to the next patch version, e.g. if the current version is
4.4.0
(non-snapshot as this came from a tag) change it to 4.4.1-SNAPSHOT
Create a pull request for the fix
- Make sure you have the most up to date version of the long lived release branch for the targeted version
- Create a new branch for the back port based upon the long lived branch for the targeted version, e.g. to back port
MODPATRON-59
to version 4.4.x
issue the following git checkout -b MODPATRON-59-back-port-to-4-4-0 b4.4
- Cherry pick the commits from the pull request for the fix (excluding the merges of master unless they are needed)
- Push the branch and issue a pull request against the long lived release branch e.g. for
MODPATRON-59-back-port-to-4-4-0
the base branch should b4.4
- Check that the changes in this pull request are similar to those made for the original fix (unless there are good reasons where that cannot be the case)
{"serverDuration": 425, "requestCorrelationId": "dbd709b3d68e499ca71f572047b6c460"}