blob: c5c4e131c138de40ccb1cd2c97ef69b5b11c007e [file] [log] [blame]
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -08001---
Zack Williams7468c362018-04-06 09:52:30 -07002# CORD GLOBAL jenkins job builder (JJB) defaults
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -08003
4- defaults:
5 name: global
6
Matteo Scandolob4f81882020-07-30 09:45:15 -07007 # used to enable disable jobs if the job template contains
8 # disabled: '{disable-job}'
9 disable-job: false
10
Joey Armstrongb3a06412023-02-06 09:58:58 -050011 # https://docs.releng.linuxfoundation.org/projects/lftools/en/latest/commands/version.html
12 # https://docs.releng.linuxfoundation.org/projects/lftools/en/latest/release-notes.html#v0-35-11-4
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080013 # lftools
Joey Armstrong6db8ba62024-03-06 11:12:08 -050014 lftools-version: '~=0.37.4'
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080015
Zack Williamsbe542312022-06-23 21:51:32 -070016 # git module config
17 # LF templates require these to be set in later versions of global-jjb for git module
18 choosing_strategy: 'default'
19 submodule-disable: false
20 submodule-recursive: false
Zack Williamsccc14742020-01-22 13:15:59 -070021 submodule-timeout: 10
22
Zack Williams8e69efd2018-06-13 15:05:18 -070023 # name of the SSH key to use in most cases
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080024 jenkins-ssh-credential: 'cord-jenkins-ssh'
Zack Williams8e69efd2018-06-13 15:05:18 -070025 gerrit-ssh-credential: 'gerrit-jenkins-user'
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080026
Zack Williams7468c362018-04-06 09:52:30 -070027 # by default, don't depend on other jobs
28 dependency-jobs: ''
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080029
Zack Williams15a31c82018-08-29 15:10:03 -070030 # SCM checkout locations within Jenkins Workspace
31 destination-dir: ''
32 basedir: ''
33
Zack Williamsb3292082019-10-11 17:15:18 -070034 # used to rename jobs as is required, if running same job more than once
35 # for a project
Zack Williams9d68aa32018-07-12 11:50:37 -070036 name-extension: ''
37
Zack Williams7468c362018-04-06 09:52:30 -070038 # How long to keep builds and artifacts
39 build-days-to-keep: 60
40 artifact-num-to-keep: 30
Zack Williamsac984412018-04-04 15:39:45 -070041
Matteo Scandoloa0e6f3f2020-11-12 17:13:20 -080042 # How long to keep builds and artifacts for jobs that generate a lot of artifacts
Matteo Scandolof2bae4e2020-11-13 09:32:56 -080043 big-build-days-to-keep: 10
Matteo Scandoloa0e6f3f2020-11-12 17:13:20 -080044 big-artifact-num-to-keep: 5
45
Zack Williams7468c362018-04-06 09:52:30 -070046 # list of artifacts to archive
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080047 archive-artifacts: ''
48
Zack Williams7468c362018-04-06 09:52:30 -070049 # build timeout (minutes)
Zack Williams8e518af2019-10-23 08:45:09 -070050 build-timeout: 20
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080051
Zack Williams641d1492018-08-17 13:31:53 -070052 # timed trigger defaults, crontab syntax
53 # H = random value hashed by name of job
54 every-hour: "H * * * *"
55 every-four-hours: "H */4 * * *"
56 every-six-hours: "H */6 * * *"
57 every-eight-hours: "H */8 * * *"
58 twice-a-day: "H */12 * * *"
59 once-a-day: "H 0 * * *"
60
Zack Williamsb3292082019-10-11 17:15:18 -070061 # The most frequently used type of Build Executor. Name is per the LF global-jjb.
62 # See build node types under "Cloud > Amazon EC2" at
Zack Williamsf4c9c402018-06-27 14:58:43 -070063 # https://jenkins.opencord.org/configure
Hung-Wei Chiuf6cbde22021-04-22 22:15:23 -070064 build-node: ubuntu18.04-basebuild-1c-1g
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080065
Zack Williams7468c362018-04-06 09:52:30 -070066 # CORD Gerrit server definition, set in configuration
67 gerrit-server-name: 'CORD Gerrit'
68
69 # URL for Gerrit server, for use with `repo`
Zack Williamsc27ca2d2018-04-11 13:16:45 -070070 gerrit-server-url: 'https://gerrit.opencord.org'
Zack Williamsbe542312022-06-23 21:51:32 -070071 gerrit-server-ssh-url: 'ssh://jenkins@gerrit.opencord.org:29418'
Zack Williams7468c362018-04-06 09:52:30 -070072
73 # name of the manifest git repos used with the `repo` cli tool
74 cord-repo-manifest: manifest.git
75 cordqa-manifest-repo: qa-manifest.git
Kailashaad71012019-08-27 10:36:53 -070076 go-manifest-repo: go-manifest.git
77 voltha-test-manifest-repo: voltha-test-manifest.git
Zack Williams7468c362018-04-06 09:52:30 -070078
Zack Williams5e09c952018-06-12 10:19:48 -070079 # default email address to send job failure messages
80 failure-email-address: 'cord-dev@opencord.org'
Joey Armstrong6db8ba62024-03-06 11:12:08 -050081 failure-notification: 'cord-dev@opencord.org'
82 failure-notification-prefix: "[releng]"
Zack Williams5e09c952018-06-12 10:19:48 -070083
Zack Williamsc27ca2d2018-04-11 13:16:45 -070084 # regexp for gerrit triggers
85 # list of supported branches, for branch-regexp
Kailash40e1d0f2019-03-01 13:26:49 -080086 all-branches-regexp: '.*'
Matteo Scandolo358bf5c2020-12-14 12:05:57 -100087 supported-branches-regexp: '^(master|cord-7.0|cord-6.1|seba-1.0|voltha-2.[0-9]+)$'
Kailash Khalasica590552018-05-24 15:09:42 -070088 legacy-branches-regexp: '^(cord-5.0|cord-4.1|cord-4.0)$'
Andy Bavier84971ef2020-07-01 15:37:29 -070089 modern-branches-regexp: '^(master|cord-7.0|cord-6.1|cord-6.0|seba-1.0|voltha-2.3|voltha-2.4)$'
Zack Williams48dd14a2019-07-12 14:40:53 -070090 platform-branches-regexp: '^(master|cord-7.0|cord-6.1)$'
91 seba-branches-regexp: '^(master|cord-7.0|seba-1.0)$'
Matteo Scandolo9b644ba2021-04-19 11:21:07 -070092 kind-voltha-regexp: '^(voltha-2.6|voltha-2.7)$'
Zack Williamsac984412018-04-04 15:39:45 -070093
Zack Williams3bf60d52019-06-07 12:56:10 -070094 # matchs all project repos
95 all-projects-regexp: '.*'
96
Zack Williams66500002018-09-06 15:29:05 -070097 # strictness of version checks
98 semver-strict: 0
99
Zack Williams07949bb2018-07-20 07:29:15 -0700100 # matching repos that should be version tagged by the version-tag job
Zack Williamsbe542312022-06-23 21:51:32 -0700101 version-tag-projects-regexp: '^(?!aether)(xos.*|comac-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|pppoe.*|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|mac-learning|goloxi|device-management-interface|bbsim-sadis-server|olttopology|opendm-agent|opendevice-manager|.*-robot)$'
Zack Williams07949bb2018-07-20 07:29:15 -0700102
Zack Williamsab85b982020-01-08 11:49:37 -0700103 # 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 Williams5d8f2532019-02-14 12:20:51 -0700106 # PyPI related publishing variables
107 #
Zack Williams5aa37e12019-02-13 13:28:29 -0700108 # Pipe-separated list of directories relative to $WORKSPACE containing
Zack Williams5d8f2532019-02-14 12:20:51 -0700109 # python modules to publish to PyPI. Default is current directory which is
110 # correct for simple modules
Zack Williams5aa37e12019-02-13 13:28:29 -0700111 pypi-module-dirs: '.'
112
113 # Which PyPI index to use. Corresponds to values in ~/.pypirc
Zack Williams5d8f2532019-02-14 12:20:51 -0700114 # 'pypi' and 'testpypi' are current options. Default to testpypi, override
115 # in the job once testing is completed
Zack Williams5aa37e12019-02-13 13:28:29 -0700116 pypi-index: 'testpypi'
117
Zack Williams96fecf02019-03-27 13:52:01 -0700118 # 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 Williamse16a9bd2019-03-21 23:02:24 -0700123 # 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 Williams38126df2019-03-21 23:02:24 -0700128 # 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 Williamsc27ca2d2018-04-11 13:16:45 -0700134 # for matching files with file-include-regexp
135 all-files-regexp: '.*'
Zack Williams698e5d12018-12-18 16:52:39 -0700136
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).*$'
Kailash672d2c72019-02-14 09:31:24 -0800141 api-test-files-regexp: '^(?!docs|VERSION|\/COMMIT_MSG|Jenkinsfile-*).*$'
Zack Williams698e5d12018-12-18 16:52:39 -0700142
Kailasha10e39f2019-03-15 10:14:14 -0700143 # siab helm-charts
Andy Bavier86737b52019-04-19 16:48:36 -0700144 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 Williams0cb78462019-04-09 18:13:28 -0700145
146 # Optionally allow JUnit results to be empty when test framework is set up,
Zack Williams3715d582020-02-24 10:40:27 -0700147 # but no tests exist. Default behavior is to fail when test results are
148 # empty. Also will not vote if no test output exists - good for repos where
149 # tests or test output generation may not yet exist.
Zack Williams0cb78462019-04-09 18:13:28 -0700150 junit-allow-empty-results: false
Zack Williamscee76d22019-04-29 13:08:20 -0700151
Zack Williams3715d582020-02-24 10:40:27 -0700152 # Allow xunit to not vote if no test files exist. Default is true because
153 # jUnit is the more commonly supported output format.
154 xunit-skip-if-no-test-files: true
155
Zack Williamscee76d22019-04-29 13:08:20 -0700156 # Unit test targets
157 # List of targets to run when testing a patchset, run with make or similar
158 # defaults to just 'test', multiple targets should be space separated
159 unit-test-targets: 'test'
160
161 # whether to "keep going" on multiple tests if one fails
162 # maps to the `-k` option passed to make in make-unit.yaml
163 unit-test-keep-going: false
164
165 # golang specific variables
166 # dest-gopath handles checking out patchsets and putting them into a GOPATH
167 # This portion of the path should be included: `$GOPATH/src/<dest-gopath>/<project>"
168 # If blank, golang related variables won't be set
169 dest-gopath: ''
Zack Williamsc1d6a5e2019-05-06 16:35:58 -0700170
171 # github organization
Zack Williams27cd3e52018-09-18 16:44:50 -0700172 # Specifies the github organization to operate on. Default is blank which
173 # may either be invalid, or specify that gerrit should be used instead.
Zack Williamsbe542312022-06-23 21:51:32 -0700174 # Currently used with: github-release
Zack Williamsc1d6a5e2019-05-06 16:35:58 -0700175 github-organization: ''
176
Zack Williams27cd3e52018-09-18 16:44:50 -0700177 # release targets
178 # List of targets run when creating a software release, run with make or
179 # similar. Default is "release", multiple targets may be space separated
180 # (when using make).
181 release-targets: 'release'
182
183 # artifact glob
184 # Shell glob expression used to select which files are included as binaries
185 # in a release.
186 # Currently used with: github-release
187 artifact-glob: ''
188
Zack Williams234dc922019-08-30 17:03:57 -0700189 # JDK distribution to use
190 # Give the version of the JDK to use when building
191 # Parameter is used with `update-java-alternatives --set <jdk-distribution>`
192 jdk-distribution: 'java-11-amazon-corretto'
hwchiuf4a77ce2019-09-06 17:15:21 -0700193
194 # skip directories
195 # Used to skip directories in supported tests
196 skip-dirs: ''
Matteo Scandolo3aba73a2019-09-27 09:03:38 -0700197
198 # maintainers
199 # Used to notify users in supported tests
Zack Williamsbe542312022-06-23 21:51:32 -0700200 maintainers: ''
pierventref48ebc12020-07-17 16:01:32 +0200201
202 # karaf-home
203 # Use to grab the logs or onos-diagnostics
Andrea Campanella188e50d2022-01-14 11:30:05 +0100204 karaf-home: 'apache-karaf-4.2.14'
Hung-Wei Chiubfa8fe32021-04-27 10:59:40 -0700205
206 # maven version
207 # Have to setup JAVA_HOME correctly if we upgrade to mvn36
208 maven-version: mvn33
Joey Armstrongaf679da2023-01-31 14:22:41 -0500209
210# [EOF]