Experimental extraction/refactoring of the Operator SDK's ansible operator plugin
- Push access to this repository
- Forked repository and local clone of fork
- Remote ref named
upstreamthat points to this repository
Since this project is currently consumed as a library there are some manual steps that need to take place prior to creating a release. They are as follows:
- Checkout the
mainbranch:
git checkout main- Ensure the
mainbranch is up to date:
git fetch upstream && git pull upstream main- Checkout a new branch for release prep work:
git checkout -b release/prep-vX.Y.Z- Update the
ImageVersionvariable ininternal/version/version.goto be the version you are prepping for release - Update the line with
export IMAGE_VERSIONinMakefileto be the version you are prepping for release - Regenerate the testdata:
make generate- Commit and push your changes to your fork
- Create a PR against the
mainbranch
- Ensure the steps in Release Prep have been completed. Do NOT progress past this point until the release prep PR has merged.
- Checkout the
mainbranch:
git checkout main- Ensure your local branch is up to date:
git fetch upstream && git pull upstream main- Checkout a new branch for the new release following the pattern
release-vX.Y. In this example we will create a branch for av0.2.0release:
git checkout -b release-v0.2- Push the newly created release branch:
git push -u upstream release-v0.2- Create a new release tag:
git tag -a -s -m "ansible-operator-plugins release v0.2.0" v0.2.0- Push the new tag:
git push upstream v0.2.0- Ensure the steps in Release Prep have been completed. Do NOT progress past this point until the release prep PR has merged.
- Cherry pick the merged release prep PR to the proper major/minor branch by commenting the following on the PR:
/cherry-pick release-vX.Y
where X is the major version and Y is the minor version. An example of cherry picking for a v0.2.1 release would be:
/cherry-pick release-v0.2
- A bot will have created the cherry pick PR. Merge this. Do NOT progress past this point until the cherry pick PR has merged.
- Checkout the appropriate release branch. In this example we will be "creating" a
v0.2.1release:
git checkout release-v0.2- Ensure it is up to date:
git fetch upstream && git pull upstream release-v0.2- Create a new release tag:
git tag -a -s -m "ansible-operator-plugins release v0.2.1" v0.2.1- Push the new tag:
git push upstream v0.2.1Note
While the release process is automated once the tag is pushed it can occasionally timeout. If this happens, re-running the action will re-run the release process and typically succeed.