| 1 | - defaults: |
| 2 | name: lttng-tools |
| 3 | description: | |
| 4 | |
| 5 | <p>Job is managed by Jenkins Job Builder.</p> |
| 6 | |
| 7 | project-type: freestyle |
| 8 | |
| 9 | logrotate: |
| 10 | daysToKeep: -1 |
| 11 | numToKeep: 2 |
| 12 | artifactDaysToKeep: -1 |
| 13 | artifactNumToKeep: -1 |
| 14 | |
| 15 | wrappers: |
| 16 | - workspace-cleanup |
| 17 | - timestamps |
| 18 | - ansicolor |
| 19 | |
| 20 | scm: |
| 21 | - git: |
| 22 | url: git://github.com/lttng/lttng-tools.git |
| 23 | browser: githubweb |
| 24 | browser-url: https://github.com/lttng/lttng-tools |
| 25 | branches: |
| 26 | - origin/{version} |
| 27 | |
| 28 | triggers: |
| 29 | - pollscm: |
| 30 | cron: "@hourly" |
| 31 | |
| 32 | properties: |
| 33 | - github: |
| 34 | url: https://github.com/lttng/lttng-tools |
| 35 | |
| 36 | |
| 37 | ## Templates |
| 38 | - job-template: |
| 39 | name: lttng-tools_{version}_{buildtype} |
| 40 | defaults: lttng-tools |
| 41 | |
| 42 | project-type: matrix |
| 43 | node: 'x86-32 || x86-64' # Applies only to matrix flyweight task |
| 44 | execution-strategy: |
| 45 | combination-filter: | |
| 46 | (build=="std") || (liburcu_version=="master") |
| 47 | axes: |
| 48 | - axis: |
| 49 | type: slave |
| 50 | name: arch |
| 51 | values: '{obj:arch}' |
| 52 | - axis: |
| 53 | type: user-defined |
| 54 | name: conf |
| 55 | values: |
| 56 | - std |
| 57 | - no_ust |
| 58 | - python_bindings |
| 59 | - java_agents |
| 60 | - axis: |
| 61 | type: user-defined |
| 62 | name: babeltrace_version |
| 63 | values: |
| 64 | !include jobs/inc/babeltrace-versions.yaml.inc |
| 65 | - axis: |
| 66 | type: user-defined |
| 67 | name: liburcu_version |
| 68 | values: |
| 69 | !include jobs/inc/liburcu-versions.yaml.inc |
| 70 | - axis: |
| 71 | type: user-defined |
| 72 | name: lttng-ust_version |
| 73 | values: |
| 74 | - {version} |
| 75 | - axis: |
| 76 | type: user-defined |
| 77 | name: build |
| 78 | values: '{obj:build}' |
| 79 | |
| 80 | builders: |
| 81 | - conditional-step: |
| 82 | condition-kind: strings-match |
| 83 | condition-string1: $conf |
| 84 | condition-string2: static |
| 85 | on-evaluation-failure: run |
| 86 | - copyartifact: |
| 87 | project: liburcu_${{liburcu_version}}_{buildtype}/arch=$arch,conf=std,build=std |
| 88 | which-build: last-successful |
| 89 | stable: true |
| 90 | filter: 'build/**' |
| 91 | target: 'deps/liburcu' |
| 92 | do-not-fingerprint: true |
| 93 | - copyartifact: |
| 94 | project: babeltrace_${{babeltrace_version}}_{buildtype}/arch=$arch,conf=std,build=std |
| 95 | which-build: last-successful |
| 96 | stable: true |
| 97 | filter: 'build/**' |
| 98 | target: 'deps/liburcu' |
| 99 | do-not-fingerprint: true |
| 100 | - copyartifact: |
| 101 | project: lttng-ust_${{lttng-ust_version}}_{buildtype}/arch=$arch,conf=std,build=std |
| 102 | which-build: last-successful |
| 103 | stable: true |
| 104 | filter: 'build/**' |
| 105 | target: 'deps/liburcu' |
| 106 | do-not-fingerprint: true |
| 107 | - shell: |
| 108 | !include-raw-escape scripts/lttng-tools/build.sh |
| 109 | |
| 110 | # TODO: Scan for open tasks |
| 111 | publishers: |
| 112 | - tap: |
| 113 | results: 'tap/**/*.tap' |
| 114 | failed-tests-mark-build-as-failure: true |
| 115 | - warnings: |
| 116 | console-log-parsers: |
| 117 | - 'GNU Make + GNU C Compiler (gcc)' |
| 118 | #total-thresholds: |
| 119 | # failed: |
| 120 | # total-all: 0 |
| 121 | # total-high: 0 |
| 122 | # total-normal: 0 |
| 123 | # total-low: 0 |
| 124 | - archive: |
| 125 | artifacts: 'build/**' |
| 126 | allow-empty: false |
| 127 | - workspace-cleanup |
| 128 | |
| 129 | |
| 130 | - job-template: |
| 131 | name: lttng-tools_{version}_cppcheck |
| 132 | defaults: lttng-tools |
| 133 | |
| 134 | triggers: |
| 135 | - pollscm: |
| 136 | cron: "@daily" |
| 137 | |
| 138 | builders: |
| 139 | - shell: | |
| 140 | rm -f lttng-tools-cppcheck.xml |
| 141 | cppcheck --enable=all --xml --xml-version=2 $WORKSPACE 2> lttng-tools-cppcheck.xml |
| 142 | |
| 143 | publishers: |
| 144 | - archive: |
| 145 | artifacts: 'lttng-tools-cppcheck.xml' |
| 146 | allow-empty: false |
| 147 | - cppcheck: |
| 148 | pattern: 'lttng-tools-cppcheck.xml' |
| 149 | - email: |
| 150 | recipients: 'ci-notification@lists.lttng.org' |
| 151 | notify-every-unstable-build: true |
| 152 | send-to-individuals: false |
| 153 | |
| 154 | - job-template: |
| 155 | name: lttng-tools_{version}_scan-build |
| 156 | defaults: lttng-tools |
| 157 | node: 'x86-64' |
| 158 | |
| 159 | triggers: |
| 160 | - pollscm: |
| 161 | cron: "@daily" |
| 162 | |
| 163 | builders: |
| 164 | - shell: |
| 165 | !include-raw-escape scripts/lttng-tools/scan-build.sh |
| 166 | |
| 167 | publishers: |
| 168 | - html-publisher: |
| 169 | name: 'HTML Report' |
| 170 | dir: 'scan-build-archive/' |
| 171 | files: 'index.html' |
| 172 | |
| 173 | # TODO: lttng-tools_{version}_coverity |
| 174 | #- job-template: |
| 175 | # name: lttng-tools_{version}_coverity |
| 176 | # defaults: lttng-tools |
| 177 | # node: 'x86-64' |
| 178 | # |
| 179 | # triggers: |
| 180 | # - pollscm: |
| 181 | # cron: "@daily" |
| 182 | # |
| 183 | # builders: |
| 184 | # - shell: |
| 185 | # !include-raw-escape scripts/lttng-tools/coverity.sh |
| 186 | # |
| 187 | # publishers: |
| 188 | # - html-publisher: |
| 189 | # name: 'HTML Report' |
| 190 | # dir: 'scan-build-archive/' |
| 191 | # files: 'index.html' |
| 192 | |
| 193 | - job-template: |
| 194 | name: lttng-tools_{version}_pylint |
| 195 | defaults: lttng-tools |
| 196 | node: 'x86-64' |
| 197 | |
| 198 | scm: [] |
| 199 | |
| 200 | triggers: |
| 201 | - pollscm: |
| 202 | cron: "@daily" |
| 203 | |
| 204 | builders: |
| 205 | - copyartifact: |
| 206 | project: lttng-tools-{version}/arch=x86-64,build=std,conf=python-agent |
| 207 | which-build: last-successful |
| 208 | stable: true |
| 209 | filter: 'build/**' |
| 210 | target: 'deps/lttng-tools' |
| 211 | do-not-fingerprint: true |
| 212 | - shell: |
| 213 | !include-raw-escape scripts/lttng-tools/pylint.sh |
| 214 | |
| 215 | publishers: |
| 216 | - archive: |
| 217 | artifacts: 'pep8.out,pylint.out' |
| 218 | - violations: |
| 219 | pep8: |
| 220 | pattern: pep8.out |
| 221 | min: 10 |
| 222 | max: 999 |
| 223 | unstable: 999 |
| 224 | pylint: |
| 225 | pattern: pylint.out |
| 226 | min: 10 |
| 227 | max: 999 |
| 228 | unstable: 999 |
| 229 | - email: |
| 230 | recipients: 'ci-notification@lists.lttng.org' |
| 231 | notify-every-unstable-build: true |
| 232 | send-to-individuals: false |
| 233 | |
| 234 | |
| 235 | ## Project |
| 236 | - project: |
| 237 | name: lttng-tools |
| 238 | version: |
| 239 | !include jobs/inc/lttng-tools-versions.yaml.inc |
| 240 | jobs: |
| 241 | - 'lttng-tools_{version}_{buildtype}': |
| 242 | buildtype: build |
| 243 | arch: !!python/tuple [x86-32, x86-64] |
| 244 | build: !!python/tuple [std, oot, dist] |
| 245 | - 'lttng-tools_{version}_{buildtype}': |
| 246 | buildtype: portbuild |
| 247 | arch: !!python/tuple [armhf, powerpc] |
| 248 | build: !!python/tuple [std] |
| 249 | - 'lttng-tools_{version}_cppcheck' |
| 250 | - 'lttng-tools_{version}_scan-build' |
| 251 | |