Joey Armstrong | 2ce92d0 | 2023-06-03 18:54:56 -0400 | [diff] [blame] | 1 | Jenkins jobs: Release branching for unit tests |
| 2 | ============================================== |
| 3 | |
| 4 | Intent |
| 5 | ------ |
| 6 | |
| 7 | With each new VOLTHA LTS release (v2.12, v2.11, v2.8) jenkins unit testing and |
| 8 | sandbox tooling must be branched for release to protect testing from |
| 9 | future enhancements on master branch. |
| 10 | |
| 11 | JJB configs used to generate pipeline jobs are maintained in a central |
| 12 | repository, test suites are not maintained on distinct branches within |
| 13 | revision control. Instead versioning is implemented using naming conventions |
| 14 | within the job configs. |
| 15 | |
| 16 | WIP: |
| 17 | ---- |
| 18 | |
| 19 | Makefile target create-jobs-release will create a versioned hierarchy |
| 20 | for VOLTHA test jobs. Refactoring is still needed to modularize job |
| 21 | definitions from the monolithic yaml job config that contains all |
| 22 | jobs and versions. |
| 23 | |
| 24 | .. code-block:: shell-session |
| 25 | :caption: Clone and branch VOLTHA testing for release. |
| 26 | :linenos: |
| 27 | :emphasize-lines: 5,8,14 |
| 28 | |
| 29 | # Clone repo:ci-management |
| 30 | % git clone ssh://gerrit.opencord.org:29418/ci-management.git |
| 31 | % cd ci-management |
| 32 | |
| 33 | % make help | grep release |
| 34 | help-voltha-release Display voltha release targets |
| 35 | |
| 36 | % make help-voltha-release |
| 37 | [RELEASE] - Create branch driven testing pipelines |
| 38 | create-jobs-release |
| 39 | create-jobs-release-nightly Nightly testing |
| 40 | create-jobs-release-units Unit testing |
| 41 | |
| 42 | % make create-jobs-release voltha-version=voltha-2.12 |
| 43 | |
| 44 | .. code-block:: shell-session |
| 45 | :caption: Jenkins (JJB) branched job configs created |
| 46 | |
| 47 | % cd ci-management |
| 48 | % find jjb -name '*2.12*' |
| 49 | |
| 50 | jjb/voltha-test/voltha-certification/voltha-2.12.yaml |
| 51 | jjb/voltha-test/voltha-nightly-jobs/voltha-2.12.yaml |
| 52 | |
| 53 | TODO |
| 54 | ---- |
| 55 | |
| 56 | - Document the current testing setup and branching within monolithic yaml file. |