Linux Foundation Administrators | 14b8edb | 2018-01-25 13:00:42 -0800 | [diff] [blame] | 1 | --- |
Zack Williams | 7468c36 | 2018-04-06 09:52:30 -0700 | [diff] [blame] | 2 | # CORD GLOBAL jenkins job builder (JJB) defaults |
Linux Foundation Administrators | 14b8edb | 2018-01-25 13:00:42 -0800 | [diff] [blame] | 3 | |
| 4 | - defaults: |
| 5 | name: global |
| 6 | |
Matteo Scandolo | b4f8188 | 2020-07-30 09:45:15 -0700 | [diff] [blame] | 7 | # used to enable disable jobs if the job template contains |
| 8 | # disabled: '{disable-job}' |
| 9 | disable-job: false |
| 10 | |
Linux Foundation Administrators | 14b8edb | 2018-01-25 13:00:42 -0800 | [diff] [blame] | 11 | # lftools |
Zack Williams | 2684652 | 2019-10-04 11:49:27 -0700 | [diff] [blame] | 12 | lftools-version: '~=0.26.2' |
Linux Foundation Administrators | 14b8edb | 2018-01-25 13:00:42 -0800 | [diff] [blame] | 13 | |
Zack Williams | ccc1474 | 2020-01-22 13:15:59 -0700 | [diff] [blame] | 14 | # LF templates require these to be set in later versions of global-jjb |
| 15 | submodule-disable: 'false' |
| 16 | submodule-timeout: 10 |
| 17 | |
Zack Williams | 8e69efd | 2018-06-13 15:05:18 -0700 | [diff] [blame] | 18 | # name of the SSH key to use in most cases |
Linux Foundation Administrators | 14b8edb | 2018-01-25 13:00:42 -0800 | [diff] [blame] | 19 | jenkins-ssh-credential: 'cord-jenkins-ssh' |
Zack Williams | 8e69efd | 2018-06-13 15:05:18 -0700 | [diff] [blame] | 20 | gerrit-ssh-credential: 'gerrit-jenkins-user' |
Linux Foundation Administrators | 14b8edb | 2018-01-25 13:00:42 -0800 | [diff] [blame] | 21 | |
Zack Williams | 7468c36 | 2018-04-06 09:52:30 -0700 | [diff] [blame] | 22 | # by default, don't depend on other jobs |
| 23 | dependency-jobs: '' |
Linux Foundation Administrators | 14b8edb | 2018-01-25 13:00:42 -0800 | [diff] [blame] | 24 | |
Zack Williams | 15a31c8 | 2018-08-29 15:10:03 -0700 | [diff] [blame] | 25 | # SCM checkout locations within Jenkins Workspace |
| 26 | destination-dir: '' |
| 27 | basedir: '' |
| 28 | |
Zack Williams | b329208 | 2019-10-11 17:15:18 -0700 | [diff] [blame] | 29 | # used to rename jobs as is required, if running same job more than once |
| 30 | # for a project |
Zack Williams | 9d68aa3 | 2018-07-12 11:50:37 -0700 | [diff] [blame] | 31 | name-extension: '' |
| 32 | |
Zack Williams | 7468c36 | 2018-04-06 09:52:30 -0700 | [diff] [blame] | 33 | # How long to keep builds and artifacts |
| 34 | build-days-to-keep: 60 |
| 35 | artifact-num-to-keep: 30 |
Zack Williams | ac98441 | 2018-04-04 15:39:45 -0700 | [diff] [blame] | 36 | |
Matteo Scandolo | a0e6f3f | 2020-11-12 17:13:20 -0800 | [diff] [blame] | 37 | # How long to keep builds and artifacts for jobs that generate a lot of artifacts |
| 38 | big-build-days-to-keep: 5 |
| 39 | big-artifact-num-to-keep: 5 |
| 40 | |
Zack Williams | 7468c36 | 2018-04-06 09:52:30 -0700 | [diff] [blame] | 41 | # list of artifacts to archive |
Linux Foundation Administrators | 14b8edb | 2018-01-25 13:00:42 -0800 | [diff] [blame] | 42 | archive-artifacts: '' |
| 43 | |
Zack Williams | 7468c36 | 2018-04-06 09:52:30 -0700 | [diff] [blame] | 44 | # build timeout (minutes) |
Zack Williams | 8e518af | 2019-10-23 08:45:09 -0700 | [diff] [blame] | 45 | build-timeout: 20 |
Linux Foundation Administrators | 14b8edb | 2018-01-25 13:00:42 -0800 | [diff] [blame] | 46 | |
Zack Williams | 641d149 | 2018-08-17 13:31:53 -0700 | [diff] [blame] | 47 | # timed trigger defaults, crontab syntax |
| 48 | # H = random value hashed by name of job |
| 49 | every-hour: "H * * * *" |
| 50 | every-four-hours: "H */4 * * *" |
| 51 | every-six-hours: "H */6 * * *" |
| 52 | every-eight-hours: "H */8 * * *" |
| 53 | twice-a-day: "H */12 * * *" |
| 54 | once-a-day: "H 0 * * *" |
| 55 | |
Zack Williams | b329208 | 2019-10-11 17:15:18 -0700 | [diff] [blame] | 56 | # The most frequently used type of Build Executor. Name is per the LF global-jjb. |
| 57 | # See build node types under "Cloud > Amazon EC2" at |
Zack Williams | f4c9c40 | 2018-06-27 14:58:43 -0700 | [diff] [blame] | 58 | # https://jenkins.opencord.org/configure |
Zack Williams | 7468c36 | 2018-04-06 09:52:30 -0700 | [diff] [blame] | 59 | build-node: ubuntu16.04-basebuild-1c-1g |
Linux Foundation Administrators | 14b8edb | 2018-01-25 13:00:42 -0800 | [diff] [blame] | 60 | |
Zack Williams | 7468c36 | 2018-04-06 09:52:30 -0700 | [diff] [blame] | 61 | # CORD Gerrit server definition, set in configuration |
| 62 | gerrit-server-name: 'CORD Gerrit' |
| 63 | |
| 64 | # URL for Gerrit server, for use with `repo` |
Zack Williams | c27ca2d | 2018-04-11 13:16:45 -0700 | [diff] [blame] | 65 | gerrit-server-url: 'https://gerrit.opencord.org' |
Zack Williams | 7468c36 | 2018-04-06 09:52:30 -0700 | [diff] [blame] | 66 | |
| 67 | # name of the manifest git repos used with the `repo` cli tool |
| 68 | cord-repo-manifest: manifest.git |
| 69 | cordqa-manifest-repo: qa-manifest.git |
Kailash | aad7101 | 2019-08-27 10:36:53 -0700 | [diff] [blame] | 70 | go-manifest-repo: go-manifest.git |
| 71 | voltha-test-manifest-repo: voltha-test-manifest.git |
Zack Williams | 7468c36 | 2018-04-06 09:52:30 -0700 | [diff] [blame] | 72 | |
Zack Williams | 5e09c95 | 2018-06-12 10:19:48 -0700 | [diff] [blame] | 73 | # default email address to send job failure messages |
| 74 | failure-email-address: 'cord-dev@opencord.org' |
| 75 | |
Luca Prete | ae7fc49 | 2018-12-13 16:00:37 -0800 | [diff] [blame] | 76 | # Projects containing helm-charts |
Jeremy Ronquillo | 1860ef5 | 2020-06-24 09:55:32 -0700 | [diff] [blame] | 77 | helm-charts-projects-regexp: '^(?!aether)(.*helm-charts|cord-platform|seba)$' |
Luca Prete | ae7fc49 | 2018-12-13 16:00:37 -0800 | [diff] [blame] | 78 | |
Zack Williams | c27ca2d | 2018-04-11 13:16:45 -0700 | [diff] [blame] | 79 | # regexp for gerrit triggers |
| 80 | # list of supported branches, for branch-regexp |
Kailash | 40e1d0f | 2019-03-01 13:26:49 -0800 | [diff] [blame] | 81 | all-branches-regexp: '.*' |
Matteo Scandolo | 06e15d9 | 2020-09-23 16:38:12 -0700 | [diff] [blame] | 82 | supported-branches-regexp: '^(master|cord-7.0|cord-6.1|seba-1.0|voltha-2.3|voltha-2.4|voltha-2.5)$' |
Kailash Khalasi | ca59055 | 2018-05-24 15:09:42 -0700 | [diff] [blame] | 83 | legacy-branches-regexp: '^(cord-5.0|cord-4.1|cord-4.0)$' |
Andy Bavier | 84971ef | 2020-07-01 15:37:29 -0700 | [diff] [blame] | 84 | modern-branches-regexp: '^(master|cord-7.0|cord-6.1|cord-6.0|seba-1.0|voltha-2.3|voltha-2.4)$' |
Zack Williams | 48dd14a | 2019-07-12 14:40:53 -0700 | [diff] [blame] | 85 | platform-branches-regexp: '^(master|cord-7.0|cord-6.1)$' |
| 86 | seba-branches-regexp: '^(master|cord-7.0|seba-1.0)$' |
Zack Williams | ac98441 | 2018-04-04 15:39:45 -0700 | [diff] [blame] | 87 | |
Zack Williams | 3bf60d5 | 2019-06-07 12:56:10 -0700 | [diff] [blame] | 88 | # matchs all project repos |
| 89 | all-projects-regexp: '.*' |
| 90 | |
Zack Williams | 5fee002 | 2018-06-11 14:42:54 -0700 | [diff] [blame] | 91 | # for matching repos that build docker images with imagebuilder |
Zack Williams | 599f6b7 | 2019-04-16 17:05:34 -0700 | [diff] [blame] | 92 | # As of 2019-04-16 most of the services actively being developed use the |
| 93 | # make-based image generation process managed by the `docker-publish` job |
| 94 | imagebuilder-projects-regexp: '^(cord-tester|mcord|ecord|acordion|addressmanager|epc-service|exampleservice|globalxos|hippie-oss|hss_db|hypercache|internetemulator|monitoring|openstack|progran|sdn-controller|templateservice|vEE|vEG|vBBU|venb|vHSS|vMME|vnaas|vPGWC|vPGWU|vsg|vsg-hw|vSGW|vSM|vspgwc|vspgwu|vtn-service|vtr)$' |
Zack Williams | 5fee002 | 2018-06-11 14:42:54 -0700 | [diff] [blame] | 95 | |
Zack Williams | 6650000 | 2018-09-06 15:29:05 -0700 | [diff] [blame] | 96 | # strictness of version checks |
| 97 | semver-strict: 0 |
| 98 | |
Zack Williams | 07949bb | 2018-07-20 07:29:15 -0700 | [diff] [blame] | 99 | # matching repos that should be version tagged by the version-tag job |
| 100 | # (basically the same as imagebuilder projects + helm charts + tools |
Jeremy Ronquillo | 56ead08 | 2020-07-23 11:19:16 -0700 | [diff] [blame] | 101 | version-tag-projects-regexp: '^(?!aether)(xos.*|.*helm-charts|automation-tools|cord-tester|chameleon|rcord|mcord|ecord|acordion|addressmanager|epc-service|exampleservice|fabric.*|globalxos|hippie-oss|hss_db|hypercache|internetemulator|kubernetes-service|monitoring|olt-service|onos-service|openstack|progran|sdn-controller|simpleexampleservice|templateservice|vEE|vEG|vBBU|venb|vHSS|vMME|vnaas|vPGWC|vPGWU|vrouter|vsg|vsg-hw|vSGW|vSM|vspgwc|vspgwu|vtn-service|vtr|.*-workflow-driver|ves-agent|voltha-bbsim|openolt|sadis-server|kafka-topic-exporter|pyvoltha||plyxproto|voltha-protos|alpine-grpc-base|cordctl|voltha-go|voltha-onos|device-management|cord-workflow.*|voltha-system-tests|openairinterface|omec-.*|bbsim|omci-sim|ponsim|pppoel2relay|voltha-api-server|aaa|config|dhcpl2relay|igmp|igmpproxy|kafka-onos|mcast|olt|sadis|vtn|voltha-.*-adapter.*|voltha-lib-go|voltha-python-base|voltha-docker-tools|mn-stratum-siab|ofagent.*|bng|voltctl|openolt-scale-tester|nem-ondemand-proxy|multifabric|openolt-test|omci-lib-go|kind-voltha|voltha-docs|mac-learning|goloxi|device-management-interface)$' |
Zack Williams | 07949bb | 2018-07-20 07:29:15 -0700 | [diff] [blame] | 102 | |
Zack Williams | ab85b98 | 2020-01-08 11:49:37 -0700 | [diff] [blame] | 103 | # List of all repos that contribute to the CORD guide |
| 104 | cord-guide-projects-regexp: '^(att-workflow-driver|cord-tester|cordctl|exampleservice|fabric|fabric-crossconnect|hippie-oss|kubernetes-service|olt-service|onos-service|openolt|openstack|rcord|simpleexampleservice|vrouter|vtn-service|xos|xos-gui|xos-tosca)$' |
| 105 | |
Zack Williams | 5d8f253 | 2019-02-14 12:20:51 -0700 | [diff] [blame] | 106 | # PyPI related publishing variables |
| 107 | # |
Zack Williams | 5aa37e1 | 2019-02-13 13:28:29 -0700 | [diff] [blame] | 108 | # Pipe-separated list of directories relative to $WORKSPACE containing |
Zack Williams | 5d8f253 | 2019-02-14 12:20:51 -0700 | [diff] [blame] | 109 | # python modules to publish to PyPI. Default is current directory which is |
| 110 | # correct for simple modules |
Zack Williams | 5aa37e1 | 2019-02-13 13:28:29 -0700 | [diff] [blame] | 111 | pypi-module-dirs: '.' |
| 112 | |
| 113 | # Which PyPI index to use. Corresponds to values in ~/.pypirc |
Zack Williams | 5d8f253 | 2019-02-14 12:20:51 -0700 | [diff] [blame] | 114 | # 'pypi' and 'testpypi' are current options. Default to testpypi, override |
| 115 | # in the job once testing is completed |
Zack Williams | 5aa37e1 | 2019-02-13 13:28:29 -0700 | [diff] [blame] | 116 | pypi-index: 'testpypi' |
| 117 | |
Zack Williams | 96fecf0 | 2019-03-27 13:52:01 -0700 | [diff] [blame] | 118 | # Commands to run within the root of the checked out repo before running |
| 119 | # the `python setup.py sdist` to generate the distribution. |
| 120 | # Primarily used for autogenerating code before publishing a repo |
| 121 | pypi-prep-commands: '' |
| 122 | |
Zack Williams | e16a9bd | 2019-03-21 23:02:24 -0700 | [diff] [blame] | 123 | # Name of the Docker repository (usually on DockerHub) that is the |
| 124 | # destination for images to be pushed to after building. |
| 125 | # Default is invalid - must be specified on every job. |
| 126 | docker-repo: 'default-and-invalid' |
| 127 | |
Zack Williams | 38126df | 2019-03-21 23:02:24 -0700 | [diff] [blame] | 128 | # URL of the Docker registry (server running a docker registry) that is the |
| 129 | # destination for images to be pushed to after building. If set, must |
| 130 | # include trailing slash as a separator before the repo name. |
| 131 | # Default is blank, which maps to DockerHub. |
| 132 | docker-registry: '' |
| 133 | |
Zack Williams | c27ca2d | 2018-04-11 13:16:45 -0700 | [diff] [blame] | 134 | # for matching files with file-include-regexp |
| 135 | all-files-regexp: '.*' |
Zack Williams | 698e5d1 | 2018-12-18 16:52:39 -0700 | [diff] [blame] | 136 | |
| 137 | # regex to allow docs-only patchsets w/version bumps to skip code-level |
| 138 | # tests. Have to also ignore the commit message on negative match, |
| 139 | # per: https://issues.jenkins-ci.org/browse/JENKINS-19891 |
| 140 | code-files-regexp: '^(?!docs|VERSION|\/COMMIT_MSG).*$' |
Kailash | 672d2c7 | 2019-02-14 09:31:24 -0800 | [diff] [blame] | 141 | api-test-files-regexp: '^(?!docs|VERSION|\/COMMIT_MSG|Jenkinsfile-*).*$' |
Zack Williams | 698e5d1 | 2018-12-18 16:52:39 -0700 | [diff] [blame] | 142 | |
hwchiu | 9140fd2 | 2019-10-10 15:48:30 -0700 | [diff] [blame] | 143 | # Jenkins SSH host doc publisher |
Kailash Khalasi | ca59055 | 2018-05-24 15:09:42 -0700 | [diff] [blame] | 144 | docs-ssh-host: 'guide.opencord.org' |
Zack Williams | 642e5f7 | 2018-06-05 13:24:13 -0700 | [diff] [blame] | 145 | docs-ssh-host-key: 'guide.opencord.org,52.9.82.207 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFHwOY3/8GucdKzBngH/FC08nHac/RJ/OheZp2+5EpOPXZG9zQW2YUbXH5A9pO76lI5CG3z3+huG62xEGo99UQU=' |
| 146 | |
Kailash | a10e39f | 2019-03-15 10:14:14 -0700 | [diff] [blame] | 147 | # siab helm-charts |
Andy Bavier | 86737b5 | 2019-04-19 16:48:36 -0700 | [diff] [blame] | 148 | siab-projects-regexp: '^(xos-core/.*|xos-profiles/seba-services/.*|xos-profiles/base-kubernetes/.*|xos-profiles/ponsim-pod/.*|workflows/att-workflow/.*|voltha/.*|onos/.*|mininet/.*|configs/seba-ponsim.yaml)$' |
Zack Williams | 0cb7846 | 2019-04-09 18:13:28 -0700 | [diff] [blame] | 149 | |
| 150 | # Optionally allow JUnit results to be empty when test framework is set up, |
Zack Williams | 3715d58 | 2020-02-24 10:40:27 -0700 | [diff] [blame] | 151 | # but no tests exist. Default behavior is to fail when test results are |
| 152 | # empty. Also will not vote if no test output exists - good for repos where |
| 153 | # tests or test output generation may not yet exist. |
Zack Williams | 0cb7846 | 2019-04-09 18:13:28 -0700 | [diff] [blame] | 154 | junit-allow-empty-results: false |
Zack Williams | cee76d2 | 2019-04-29 13:08:20 -0700 | [diff] [blame] | 155 | |
Zack Williams | 3715d58 | 2020-02-24 10:40:27 -0700 | [diff] [blame] | 156 | # Allow xunit to not vote if no test files exist. Default is true because |
| 157 | # jUnit is the more commonly supported output format. |
| 158 | xunit-skip-if-no-test-files: true |
| 159 | |
Zack Williams | cee76d2 | 2019-04-29 13:08:20 -0700 | [diff] [blame] | 160 | # Unit test targets |
| 161 | # List of targets to run when testing a patchset, run with make or similar |
| 162 | # defaults to just 'test', multiple targets should be space separated |
| 163 | unit-test-targets: 'test' |
| 164 | |
| 165 | # whether to "keep going" on multiple tests if one fails |
| 166 | # maps to the `-k` option passed to make in make-unit.yaml |
| 167 | unit-test-keep-going: false |
| 168 | |
| 169 | # golang specific variables |
| 170 | # dest-gopath handles checking out patchsets and putting them into a GOPATH |
| 171 | # This portion of the path should be included: `$GOPATH/src/<dest-gopath>/<project>" |
| 172 | # If blank, golang related variables won't be set |
| 173 | dest-gopath: '' |
Zack Williams | c1d6a5e | 2019-05-06 16:35:58 -0700 | [diff] [blame] | 174 | |
| 175 | # github organization |
Zack Williams | 27cd3e5 | 2018-09-18 16:44:50 -0700 | [diff] [blame] | 176 | # Specifies the github organization to operate on. Default is blank which |
| 177 | # may either be invalid, or specify that gerrit should be used instead. |
| 178 | # Currently used with: synopsys detect, github-release |
Zack Williams | c1d6a5e | 2019-05-06 16:35:58 -0700 | [diff] [blame] | 179 | github-organization: '' |
| 180 | |
Zack Williams | 27cd3e5 | 2018-09-18 16:44:50 -0700 | [diff] [blame] | 181 | # release targets |
| 182 | # List of targets run when creating a software release, run with make or |
| 183 | # similar. Default is "release", multiple targets may be space separated |
| 184 | # (when using make). |
| 185 | release-targets: 'release' |
| 186 | |
| 187 | # artifact glob |
| 188 | # Shell glob expression used to select which files are included as binaries |
| 189 | # in a release. |
| 190 | # Currently used with: github-release |
| 191 | artifact-glob: '' |
| 192 | |
Zack Williams | 234dc92 | 2019-08-30 17:03:57 -0700 | [diff] [blame] | 193 | # JDK distribution to use |
| 194 | # Give the version of the JDK to use when building |
| 195 | # Parameter is used with `update-java-alternatives --set <jdk-distribution>` |
| 196 | jdk-distribution: 'java-11-amazon-corretto' |
hwchiu | f4a77ce | 2019-09-06 17:15:21 -0700 | [diff] [blame] | 197 | |
| 198 | # skip directories |
| 199 | # Used to skip directories in supported tests |
| 200 | skip-dirs: '' |
Matteo Scandolo | 3aba73a | 2019-09-27 09:03:38 -0700 | [diff] [blame] | 201 | |
| 202 | # maintainers |
| 203 | # Used to notify users in supported tests |
| 204 | maintainers: 'zdw@opennetworking.org' |
pierventre | f48ebc1 | 2020-07-17 16:01:32 +0200 | [diff] [blame] | 205 | |
| 206 | # karaf-home |
| 207 | # Use to grab the logs or onos-diagnostics |
| 208 | karaf-home: 'apache-karaf-4.2.9' |