Jenkins jobs: Release branching for unit tests¶
Intent¶
With each new VOLTHA LTS release (v2.12, v2.11, v2.8) jenkins unit testing and sandbox tooling must be branched for release to protect testing from future enhancements on master branch.
JJB configs used to generate pipeline jobs are maintained in a central repository, test suites are not maintained on distinct branches within revision control. Instead versioning is implemented using naming conventions within the job configs.
WIP:¶
Makefile target create-jobs-release will create a versioned hierarchy for VOLTHA test jobs. Refactoring is still needed to modularize job definitions from the monolithic yaml job config that contains all jobs and versions.
1# Clone repo:ci-management
2% git clone ssh://gerrit.opencord.org:29418/ci-management.git
3% cd ci-management
4
5% make help | grep release
6 help-voltha-release Display voltha release targets
7
8% make help-voltha-release
9[RELEASE] - Create branch driven testing pipelines
10 create-jobs-release
11 create-jobs-release-nightly Nightly testing
12 create-jobs-release-units Unit testing
13
14% make create-jobs-release voltha-version=voltha-2.12
% cd ci-management
% find jjb -name '*2.12*'
jjb/voltha-test/voltha-certification/voltha-2.12.yaml
jjb/voltha-test/voltha-nightly-jobs/voltha-2.12.yaml
TODO¶
Document the current testing setup and branching within monolithic yaml file.