https://github.com/operator-framework/ansible-operator-plugins
Experimental extraction/refactoring of the Operator SDK's ansible operator plugin
https://github.com/operator-framework/ansible-operator-plugins
Last synced: 3 months ago
JSON representation
Experimental extraction/refactoring of the Operator SDK's ansible operator plugin
- Host: GitHub
- URL: https://github.com/operator-framework/ansible-operator-plugins
- Owner: operator-framework
- License: apache-2.0
- Created: 2023-07-24T20:28:19.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-20T16:13:35.000Z (3 months ago)
- Last Synced: 2025-03-31T11:06:32.901Z (3 months ago)
- Language: Go
- Size: 773 KB
- Stars: 9
- Watchers: 12
- Forks: 25
- Open Issues: 42
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: code-of-conduct.md
Awesome Lists containing this project
README
# ansible-operator-plugins
Experimental extraction/refactoring of the Operator SDK's ansible operator plugin# Releasing Guide
## Pre-Requisites
- Push access to this repository
- Forked repository and local clone of fork
- Remote ref named `upstream` that points to this repository## Release Prep (Applies to all releases)
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:
1. Checkout the `main` branch:
```sh
git checkout main
```
2. Ensure the `main` branch is up to date:
```sh
git fetch upstream && git pull upstream main
```
3. Checkout a new branch for release prep work:
```sh
git checkout -b release/prep-vX.Y.Z
```
4. Update the `ImageVersion` variable in `internal/version/version.go` to be the version you are prepping for release
5. Update the line with `export IMAGE_VERSION` in `Makefile` to be the version you are prepping for release
6. Regenerate the testdata:
```sh
make generate
```
7. Commit and push your changes to your fork
8. Create a PR against the `main` branch## Creating Major/Minor Releases
1. Ensure the steps in [Release Prep](#release-prep-applies-to-all-releases) have been completed. Do **NOT** progress past this point until the release prep PR has merged.
2. Checkout the `main` branch:
```sh
git checkout main
```
3. Ensure your local branch is up to date:
```sh
git fetch upstream && git pull upstream main
```
4. Checkout a new branch for the new release following the pattern `release-vX.Y`. In this example we will create a branch for a `v0.2.0` release:
```sh
git checkout -b release-v0.2
```
5. Push the newly created release branch:
```sh
git push -u upstream release-v0.2
```
6. Create a new release tag:
```sh
git tag -a -s -m "ansible-operator-plugins release v0.2.0" v0.2.0
```
7. Push the new tag:
```sh
git push upstream v0.2.0
```## Creating Patch Releases
1. Ensure the steps in [Release Prep](#release-prep-applies-to-all-releases) have been completed. Do **NOT** progress past this point until the release prep PR has merged.
2. 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
```
3. A bot will have created the cherry pick PR. Merge this. Do **NOT** progress past this point until the cherry pick PR has merged.
4. Checkout the appropriate release branch. In this example we will be "creating" a `v0.2.1` release:
```sh
git checkout release-v0.2
```
5. Ensure it is up to date:
```sh
git fetch upstream && git pull upstream release-v0.2
```
6. Create a new release tag:
```sh
git tag -a -s -m "ansible-operator-plugins release v0.2.1" v0.2.1
```
7. Push the new tag:
```sh
git push upstream v0.2.1
```> [!NOTE]
> 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.