k8s.io/test-infra@v0.0.0-20240520184403-27c6b4c223d8/releng/README.md (about) 1 # Release Engineering tooling <!-- omit in toc --> 2 3 This directory contains tooling to generate Prow jobs. 4 While some of this may be generically useful for other cases, the primary 5 function of these tools is to generate release branch jobs after 6 kubernetes/kubernetes releases which create new branches. 7 8 > NOTE: The documentation here supersedes overlapping guidance from the 9 [Release Manager handbooks][branch-manager-handbook] (which will be removed at 10 a future date). 11 12 - [Tools](#tools) 13 - [Release branch jobs](#release-branch-jobs) 14 - [Generate jobs](#generate-jobs) 15 - [Update release dashboards](#update-release-dashboards) 16 - [Check/resolve configuration errors](#checkresolve-configuration-errors) 17 - [Create a pull request](#create-a-pull-request) 18 - [Validate](#validate) 19 - [Announce](#announce) 20 21 ## Tools 22 23 - [`generate_tests.py`](./generate_tests.py): Populates generated jobs based on 24 the configurations specified in [`test_config.yaml`](./test_config.yaml) 25 - [`prepare_release_branch.py`](./releng/prepare_release_branch.py): Generates 26 release branch jobs using `config-forker` and `config-rotator` 27 - [`config-forker`](./config-forker/README.md): Forks presubmit, periodic, and 28 postsubmit job configs with the `fork-per-release` annotation 29 - [`config-rotator`](./config-rotator/README.md): Rotates forked presubmit, 30 periodic, and postsubmit job configs created by `config-forker` 31 32 ## Release branch jobs 33 34 **WARNING:** Release branch jobs generation for 1.28+ requires special steps 35 that are yet to be documented. See [#29387](https://github.com/kubernetes/test-infra/pull/29387) 36 and "TODO(1.31)" comments for more details. 37 38 This task should be done after the release is complete and previous PRs are 39 merged. The following steps should be run from the root of this repository. 40 41 ### Generate jobs 42 43 ```console 44 make -C releng prepare-release-branch 45 ``` 46 47 ### Update release dashboards 48 49 Update release dashboards in the [Testgrid config](https://git.k8s.io/test-infra/config/testgrids/kubernetes/sig-release/config.yaml) ([example commit](https://github.com/kubernetes/test-infra/pull/15023/commits/cad8a3ce8ef3537568b12619634dff702b16cda7)). 50 51 - Remove the oldest release `sig-release-<version>-{blocking,informing}` dashboards 52 - Add dashboards for the current release e.g., `sig-release-1.23-{blocking,informing}` 53 54 ### Check/resolve configuration errors 55 56 ```console 57 make verify 58 ``` 59 60 ### Create a pull request 61 62 Issue a PR with the new release branch job configurations ([example PR](https://github.com/kubernetes/test-infra/pull/15023)). 63 64 ### Validate 65 66 Once the PR has merged, verify that the new dashboards have been created and are populated with jobs. 67 68 Examples: 69 70 - [sig-release-1.27-blocking](https://testgrid.k8s.io/sig-release-1.27-blocking) 71 - [sig-release-1.27-informing](https://testgrid.k8s.io/sig-release-1.27-informing) 72 73 ### Announce 74 75 [Announce in #sig-release and #release-management](https://kubernetes.slack.com/archives/C2C40FMNF/p1565746110248300?thread_ts=1565701466.241200&cid=C2C40FMNF) that this work has been completed. 76 77 [branch-manager-handbook]: https://git.k8s.io/sig-release/release-engineering/role-handbooks/branch-manager.md