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. .. code-block:: shell-session :caption: Clone and branch VOLTHA testing for release. :linenos: :emphasize-lines: 5,8,14 # Clone repo:ci-management % git clone ssh://gerrit.opencord.org:29418/ci-management.git % cd ci-management % make help | grep release help-voltha-release Display voltha release targets % make help-voltha-release [RELEASE] - Create branch driven testing pipelines create-jobs-release create-jobs-release-nightly Nightly testing create-jobs-release-units Unit testing % make create-jobs-release voltha-version=voltha-2.12 .. code-block:: shell-session :caption: Jenkins (JJB) branched job configs created % 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.