blob: 79026b868da04624c2d69676bb6a7ff43398155a [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
7 # lftools
8 lftools-version: <1.0.0
9
Zack Williams8e69efd2018-06-13 15:05:18 -070010 # name of the SSH key to use in most cases
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080011 jenkins-ssh-credential: 'cord-jenkins-ssh'
Zack Williams8e69efd2018-06-13 15:05:18 -070012 gerrit-ssh-credential: 'gerrit-jenkins-user'
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080013
Zack Williams7468c362018-04-06 09:52:30 -070014 # by default, don't depend on other jobs
15 dependency-jobs: ''
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080016
Zack Williams15a31c82018-08-29 15:10:03 -070017 # SCM checkout locations within Jenkins Workspace
18 destination-dir: ''
19 basedir: ''
20
Zack Williamscee76d22019-04-29 13:08:20 -070021 # used to rename jobs if required
Zack Williams9d68aa32018-07-12 11:50:37 -070022 name-extension: ''
23
Zack Williams7468c362018-04-06 09:52:30 -070024 # How long to keep builds and artifacts
25 build-days-to-keep: 60
26 artifact-num-to-keep: 30
Zack Williamsac984412018-04-04 15:39:45 -070027
Zack Williams7468c362018-04-06 09:52:30 -070028 # list of artifacts to archive
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080029 archive-artifacts: ''
30
Zack Williams7468c362018-04-06 09:52:30 -070031 # build timeout (minutes)
32 build-timeout: 10
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080033
Zack Williams641d1492018-08-17 13:31:53 -070034 # timed trigger defaults, crontab syntax
35 # H = random value hashed by name of job
36 every-hour: "H * * * *"
37 every-four-hours: "H */4 * * *"
38 every-six-hours: "H */6 * * *"
39 every-eight-hours: "H */8 * * *"
40 twice-a-day: "H */12 * * *"
41 once-a-day: "H 0 * * *"
42
Zack Williams7468c362018-04-06 09:52:30 -070043 # The most frequently used type of build node
44 # see other build node types under "Cloud > Amazon EC2" at
Zack Williamsf4c9c402018-06-27 14:58:43 -070045 # https://jenkins.opencord.org/configure
Zack Williams7468c362018-04-06 09:52:30 -070046 build-node: ubuntu16.04-basebuild-1c-1g
Linux Foundation Administrators14b8edb2018-01-25 13:00:42 -080047
Zack Williams7468c362018-04-06 09:52:30 -070048 # CORD Gerrit server definition, set in configuration
49 gerrit-server-name: 'CORD Gerrit'
50
51 # URL for Gerrit server, for use with `repo`
Zack Williamsc27ca2d2018-04-11 13:16:45 -070052 gerrit-server-url: 'https://gerrit.opencord.org'
Zack Williams7468c362018-04-06 09:52:30 -070053
54 # name of the manifest git repos used with the `repo` cli tool
55 cord-repo-manifest: manifest.git
56 cordqa-manifest-repo: qa-manifest.git
57
Zack Williams5e09c952018-06-12 10:19:48 -070058 # default email address to send job failure messages
59 failure-email-address: 'cord-dev@opencord.org'
60
Luca Preteae7fc492018-12-13 16:00:37 -080061 # Projects containing helm-charts
Zack Williamsa179b4a2019-05-10 09:22:40 -070062 helm-charts-projects-regexp: '^(helm-charts|cord-platform|seba|voltha-helm-charts)$'
Luca Preteae7fc492018-12-13 16:00:37 -080063
Zack Williamsc27ca2d2018-04-11 13:16:45 -070064 # regexp for gerrit triggers
65 # list of supported branches, for branch-regexp
Kailash40e1d0f2019-03-01 13:26:49 -080066 all-branches-regexp: '.*'
Luca Preteae7fc492018-12-13 16:00:37 -080067 supported-branches-regexp: '^(master|cord-6.1|seba-1.0|cord-6.0|cord-5.0|cord-4.1|cord-4.0)$'
Kailash Khalasica590552018-05-24 15:09:42 -070068 legacy-branches-regexp: '^(cord-5.0|cord-4.1|cord-4.0)$'
Zack Williams3096d912019-01-07 13:46:51 -070069 modern-branches-regexp: '^(master|cord-6.0|cord-6.1|seba-1.0)$'
Luca Preteae7fc492018-12-13 16:00:37 -080070 platform-branches-regexp: '^(master|cord-6.1)$'
71 seba-branches-regexp: '^(master|seba-1.0)$'
Zack Williamsac984412018-04-04 15:39:45 -070072
Zack Williams5fee0022018-06-11 14:42:54 -070073 # for matching repos that build docker images with imagebuilder
Zack Williams599f6b72019-04-16 17:05:34 -070074 # As of 2019-04-16 most of the services actively being developed use the
75 # make-based image generation process managed by the `docker-publish` job
76 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 Williams5fee0022018-06-11 14:42:54 -070077
Zack Williams66500002018-09-06 15:29:05 -070078 # strictness of version checks
79 semver-strict: 0
80
Zack Williams07949bb2018-07-20 07:29:15 -070081 # matching repos that should be version tagged by the version-tag job
82 # (basically the same as imagebuilder projects + helm charts + tools
Zack Williams7693b2d2019-05-14 21:49:14 -070083 version-tag-projects-regexp: '^(xos.*|helm-charts|automation-tools|cord-tester|chameleon|rcord|mcord|ecord|acordion|addressmanager|epc-service|exampleservice|fabric|fabric-crossconnect|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|att-workflow-driver|tt-workflow-driver|ves-agent|voltha-bbsim|openolt|sadis-server|kafka-topic-exporter|pyvoltha|voltha-adtran-adapter|voltha-openolt-adapter|voltha-openonu-adapter|plyxproto|voltha-protos|alpine-grpc-base|cordctl|voltha-go|voltha-helm-charts|voltha-onos|device-management)$'
Zack Williams07949bb2018-07-20 07:29:15 -070084
Zack Williams5d8f2532019-02-14 12:20:51 -070085 # PyPI related publishing variables
86 #
Zack Williams5aa37e12019-02-13 13:28:29 -070087 # Pipe-separated list of directories relative to $WORKSPACE containing
Zack Williams5d8f2532019-02-14 12:20:51 -070088 # python modules to publish to PyPI. Default is current directory which is
89 # correct for simple modules
Zack Williams5aa37e12019-02-13 13:28:29 -070090 pypi-module-dirs: '.'
91
92 # Which PyPI index to use. Corresponds to values in ~/.pypirc
Zack Williams5d8f2532019-02-14 12:20:51 -070093 # 'pypi' and 'testpypi' are current options. Default to testpypi, override
94 # in the job once testing is completed
Zack Williams5aa37e12019-02-13 13:28:29 -070095 pypi-index: 'testpypi'
96
Zack Williams96fecf02019-03-27 13:52:01 -070097 # Commands to run within the root of the checked out repo before running
98 # the `python setup.py sdist` to generate the distribution.
99 # Primarily used for autogenerating code before publishing a repo
100 pypi-prep-commands: ''
101
Zack Williamse16a9bd2019-03-21 23:02:24 -0700102 # Name of the Docker repository (usually on DockerHub) that is the
103 # destination for images to be pushed to after building.
104 # Default is invalid - must be specified on every job.
105 docker-repo: 'default-and-invalid'
106
Zack Williams38126df2019-03-21 23:02:24 -0700107 # URL of the Docker registry (server running a docker registry) that is the
108 # destination for images to be pushed to after building. If set, must
109 # include trailing slash as a separator before the repo name.
110 # Default is blank, which maps to DockerHub.
111 docker-registry: ''
112
Zack Williamsc27ca2d2018-04-11 13:16:45 -0700113 # for matching files with file-include-regexp
114 all-files-regexp: '.*'
Kailash Khalasica590552018-05-24 15:09:42 -0700115 doc-files-regexp: '^docs/.*'
Zack Williams698e5d12018-12-18 16:52:39 -0700116
117 # regex to allow docs-only patchsets w/version bumps to skip code-level
118 # tests. Have to also ignore the commit message on negative match,
119 # per: https://issues.jenkins-ci.org/browse/JENKINS-19891
120 code-files-regexp: '^(?!docs|VERSION|\/COMMIT_MSG).*$'
Kailash672d2c72019-02-14 09:31:24 -0800121 api-test-files-regexp: '^(?!docs|VERSION|\/COMMIT_MSG|Jenkinsfile-*).*$'
Zack Williams698e5d12018-12-18 16:52:39 -0700122
Kailash672d2c72019-02-14 09:31:24 -0800123 # Jenkins SSH host doc publisher
Kailash Khalasica590552018-05-24 15:09:42 -0700124 docs-ssh-host: 'guide.opencord.org'
Zack Williams642e5f72018-06-05 13:24:13 -0700125 docs-ssh-host-key: 'guide.opencord.org,52.9.82.207 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFHwOY3/8GucdKzBngH/FC08nHac/RJ/OheZp2+5EpOPXZG9zQW2YUbXH5A9pO76lI5CG3z3+huG62xEGo99UQU='
126
Zack Williamsefc1cb92018-07-17 14:11:08 -0700127 # For running Sonarqube configuration - see sonar.yaml for more info
128 sonar-prep-commands: ''
129 sonar-java-binaries: ''
130
Kailasha10e39f2019-03-15 10:14:14 -0700131 # siab helm-charts
Andy Bavier86737b52019-04-19 16:48:36 -0700132 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 -0700133
134 # Optionally allow JUnit results to be empty when test framework is set up,
135 # but no tests exist. Default behavior is to fail when test results are empty.
136 junit-allow-empty-results: false
Zack Williamscee76d22019-04-29 13:08:20 -0700137
138 # Unit test targets
139 # List of targets to run when testing a patchset, run with make or similar
140 # defaults to just 'test', multiple targets should be space separated
141 unit-test-targets: 'test'
142
143 # whether to "keep going" on multiple tests if one fails
144 # maps to the `-k` option passed to make in make-unit.yaml
145 unit-test-keep-going: false
146
147 # golang specific variables
148 # dest-gopath handles checking out patchsets and putting them into a GOPATH
149 # This portion of the path should be included: `$GOPATH/src/<dest-gopath>/<project>"
150 # If blank, golang related variables won't be set
151 dest-gopath: ''
Zack Williamsc1d6a5e2019-05-06 16:35:58 -0700152
153 # github organization
Zack Williams27cd3e52018-09-18 16:44:50 -0700154 # Specifies the github organization to operate on. Default is blank which
155 # may either be invalid, or specify that gerrit should be used instead.
156 # Currently used with: synopsys detect, github-release
Zack Williamsc1d6a5e2019-05-06 16:35:58 -0700157 github-organization: ''
158
Zack Williams27cd3e52018-09-18 16:44:50 -0700159 # release targets
160 # List of targets run when creating a software release, run with make or
161 # similar. Default is "release", multiple targets may be space separated
162 # (when using make).
163 release-targets: 'release'
164
165 # artifact glob
166 # Shell glob expression used to select which files are included as binaries
167 # in a release.
168 # Currently used with: github-release
169 artifact-glob: ''
170