Limit matrix flyweight jobs to standard nodes
[lttng-ci.git] / jobs / liburcu.yaml
CommitLineData
e3022ad9
MJ
1# {project}_{version}_{jobtype}
2# liburcu_stable-0.8_build
3#
4# jobtypes:
5# - build
6# - portbuild
7# - cppcheck
8# - coverity
9# - scan-build
10# - pylint
11
12- defaults:
13 name: liburcu
14 description: |
15 liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This
16 data synchronization library provides read-side access which scales
17 linearly with the number of cores. It does so by allowing multiples
18 copies of a given data structure to live at the same time, and by
19 monitoring the data structure accesses to detect grace periods after
20 which memory reclamation is possible.
21
22 liburcu-cds provides efficient data structures based on RCU and
23 lock-free algorithms. Those structures include hash tables, queues,
24 stacks, and doubly-linked lists.
25
26 <p>Job is managed by Jenkins Job Builder.</p>
27
28 project-type: freestyle
29
30 logrotate:
31 daysToKeep: -1
32 numToKeep: 2
33 artifactDaysToKeep: -1
34 artifactNumToKeep: -1
35
36 wrappers:
37 - workspace-cleanup
38 - timestamps
39 - ansicolor
40
41 scm:
42 - git:
43 url: https://github.com/urcu/userspace-rcu.git
44 browser: githubweb
45 browser-url: https://github.com/urcu/userspace-rcu.git
46 branches:
47 - origin/{version}
48
49 triggers:
50 - pollscm: "@hourly"
51
52 properties:
53 - github:
54 url: https://github.com/urcu/userspace-rcu/
55
56
57## Templates
58- job-template:
b6e61d51 59 name: liburcu_{version}_{buildtype}
e3022ad9
MJ
60 defaults: liburcu
61
62 project-type: matrix
0dc6aca0 63 node: 'x86-32 || x86-64' # Applies only to matrix flyweight task
e3022ad9
MJ
64 axes:
65 - axis:
66 type: slave
67 name: arch
b6e61d51 68 values: '{obj:arch}'
e3022ad9
MJ
69 - axis:
70 type: user-defined
71 name: conf
72 values:
73 - std
74 - static
75 - tls_fallback
76 - axis:
77 type: user-defined
78 name: build
9d0846f3 79 values: '{obj:build}'
e3022ad9
MJ
80
81 builders:
82 - shell:
83 !include-raw-escape scripts/liburcu/build.sh
84
85 # TODO: Scan for open tasks
86 publishers:
87 - warnings:
88 console-log-parsers:
89 - 'GNU Make + GNU C Compiler (gcc)'
5c66b446
MJ
90 total-thresholds:
91 failed:
92 total-all: 0
93 total-high: 0
94 total-normal: 0
95 total-low: 0
e3022ad9
MJ
96 - archive:
97 artifacts: 'build/**'
98 allow-empty: false
99 fingerprint: true
100 - trigger:
101 project: lttng-ust-{version}
102 threshold: SUCCESS
103
104- job-template:
105 name: liburcu_{version}_cppcheck
106 defaults: liburcu
107
108 triggers:
109 - pollscm: "@daily"
110
111 builders:
112 - shell: |
113 rm -f liburcu-cppcheck.xml
114 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE 2> liburcu-cppcheck.xml
115
116 publishers:
117 - archive:
118 artifacts: 'liburcu-cppcheck.xml'
119 allow-empty: false
120 fingerprint: true
121 - cppcheck:
122 pattern: 'liburcu-cppcheck.xml'
123 - email:
124 recipients: 'ci-notification@lists.lttng.org'
125 notify-every-unstable-build: true
126 send-to-individuals: false
127
128- job-template:
129 name: liburcu_{version}_scan-build
130 defaults: liburcu
131 node: 'x86-64'
132
133 triggers:
134 - pollscm: "@daily"
135
136 builders:
137 - shell:
138 !include-raw-escape scripts/liburcu/scan-build.sh
139
140 publishers:
141 - html-publisher:
142 name: 'HTML Report'
143 dir: 'scan-build-archive/'
144 files: 'index.html'
145
146# TODO: liburcu_{version}_coverity
147
148
149## Project
150- project:
151 name: liburcu
152 version:
6ea8351e 153 !include jobs/inc/liburcu-versions.yaml.inc
e3022ad9 154 jobs:
57ae8ff4
MJ
155 - 'liburcu_{version}_{buildtype}':
156 buildtype: build
b6e61d51 157 arch: !!python/tuple [x86-32, x86-64]
9d0846f3 158 build: !!python/tuple [std, oot, dist]
57ae8ff4
MJ
159 - 'liburcu_{version}_{buildtype}':
160 buildtype: portbuild
b6e61d51 161 arch: !!python/tuple [armhf, powerpc]
9d0846f3 162 build: !!python/tuple [std]
e3022ad9
MJ
163 - 'liburcu_{version}_cppcheck'
164 - 'liburcu_{version}_scan-build'
165
This page took 0.02868 seconds and 4 git commands to generate.