blob: 12bdf62bf88b572247b32112e71d31840e39f237 [file] [log] [blame]
Joey Armstrong2ce92d02023-06-03 18:54:56 -04001Jenkins jobs: Release branching for unit tests
2==============================================
3
4Intent
5------
6
7With each new VOLTHA LTS release (v2.12, v2.11, v2.8) jenkins unit testing and
8sandbox tooling must be branched for release to protect testing from
9future enhancements on master branch.
10
11JJB configs used to generate pipeline jobs are maintained in a central
12repository, test suites are not maintained on distinct branches within
13revision control. Instead versioning is implemented using naming conventions
14within the job configs.
15
16WIP:
17----
18
19Makefile target create-jobs-release will create a versioned hierarchy
20for VOLTHA test jobs. Refactoring is still needed to modularize job
21definitions from the monolithic yaml job config that contains all
22jobs 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
53TODO
54----
55
56- Document the current testing setup and branching within monolithic yaml file.