Limit matrix flyweight jobs to standard nodes
[lttng-ci.git] / jobs / liburcu.yaml
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:
59 name: liburcu_{version}_{buildtype}
60 defaults: liburcu
61
62 project-type: matrix
63 node: 'x86-32 || x86-64' # Applies only to matrix flyweight task
64 axes:
65 - axis:
66 type: slave
67 name: arch
68 values: '{obj:arch}'
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
79 values: '{obj:build}'
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)'
90 total-thresholds:
91 failed:
92 total-all: 0
93 total-high: 0
94 total-normal: 0
95 total-low: 0
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:
153 !include jobs/inc/liburcu-versions.yaml.inc
154 jobs:
155 - 'liburcu_{version}_{buildtype}':
156 buildtype: build
157 arch: !!python/tuple [x86-32, x86-64]
158 build: !!python/tuple [std, oot, dist]
159 - 'liburcu_{version}_{buildtype}':
160 buildtype: portbuild
161 arch: !!python/tuple [armhf, powerpc]
162 build: !!python/tuple [std]
163 - 'liburcu_{version}_cppcheck'
164 - 'liburcu_{version}_scan-build'
165
This page took 0.035509 seconds and 5 git commands to generate.