-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: create runbook to backport changes to older versions (#330)
This PR contains runbook with backporting changes to older versions. --------- Co-authored-by: Artem Rys <[email protected]> Co-authored-by: Marcin Bruzda <[email protected]>
- Loading branch information
1 parent
1551fcc
commit 3958686
Showing
2 changed files
with
46 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Runbook to backport changes to previous versions of `addonfactory-workflow-addon-release` | ||
`addonfactory-workflow-addon-release` is utilized by all supported TAs. While it is strongly recommended to use the latest minor version of the reusable action, not all TAs consistently follow this guideline. As a result, there are cases when crucial updates introduced in the latest reusable workflow version need to be backported to its older versions that are still in use. | ||
|
||
This runbook shows a real example of backporting changes correlated to `ta-automation-k8s-manifests`. In the example: | ||
- current version of `addonfactory-workflow-addon-release` is `v4.17.0` | ||
- there was a bug in `ta-automation-k8s-manifests` affecting all TAs | ||
- there is a need to make a fix and release `v4.17.1` containing fixed `ta-automation-k8s-manifests` version ([PR](https://github.com/splunk/addonfactory-workflow-addon-release/pull/329)) | ||
- there is need to backport it to `v4.16` (the old version which is still in use by some TAs) | ||
- the latest patch release of `v4.16` is `v4.16.14` | ||
### Steps | ||
- make release `v4.17.1` with necessary changes | ||
- fetch all existing tags from `addonfactory-workflow-addon-release`: | ||
``` | ||
git checkout main | ||
git pull | ||
git fetch --tags | ||
``` | ||
- checkout to the latest tag of the minor release you want to backport the changes to | ||
``` | ||
git checkout v4.16.14 | ||
``` | ||
- create a new branch based on the tag you are currently checked out to | ||
``` | ||
git checkout -b fix/bump-k8s-manifest-version | ||
``` | ||
- changes made in `ta-automation-k8s-manifests` were correlated with changes in `addonfactory-workflow-addon-release`, so there is a need to backport **only necessary** changes to `v4.16`. There are two ways to do that: by cherrypicking specific commits (and resolving the conflicts if they exist) or by commiting necessary changes manually. | ||
- for example make necessary changes and commit them: | ||
``` | ||
git add .github/workflows/reusable-build-test-release.yml | ||
git commit -m "fix: bump k8s-manifest version" | ||
``` | ||
- push newly created branch to the remote repository | ||
- ```git push -u origin fix/bump-k8s-manifest-version``` | ||
- in GitHub UI: | ||
- navigate to releases | ||
- draft a new release | ||
- `Choose a tag`: type the tag that will be created, i.e. `v4.16.15` | ||
- `Target` - newly created branch `fix/bump-k8s-manifest-version` | ||
- click on `Generate release notes` | ||
- `Title of release` should be `v4.16.15 backport` | ||
- write description of the changes | ||
- uncheck `Set as the latest release` box | ||
- click `Publish release` | ||
- check if the release is available, and it points at the proper version - https://github.com/splunk/addonfactory-workflow-addon-release/tags tag `v4.16` should point to the same commit as tag `v4.16.15` | ||
<img src="images/backporting/compare-tags.png" alt="tags"/> | ||
- run the workflow for some TA using v4.16 to verify if the pipeline works as expected. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.