project-type: freestyle
- logrotate:
- numToKeep: 2
-
wrappers:
- - workspace-cleanup
+ - ansicolor
+ - timeout:
+ timeout: 90
+ fail: true
+ type: absolute
- timestamps
- - ansicolor:
- colormap: xterm
+ - workspace-cleanup:
+ clean-if:
+ - failure: false
scm:
- git:
browser-url: https://github.com/{github_user}/{github_name}
branches:
- origin/{version}
+ basedir: src/liburcu
+ skip-tag: true
+ git-tool: jgit
triggers:
- pollscm:
cron: "@hourly"
properties:
+ - inject:
+ properties-content: |
+ PROJECT_NAME=liburcu
+ - build-discarder:
+ num-to-keep: 2
- github:
url: https://github.com/{github_user}/{github_name}
-## Templates
-- job-template:
- name: liburcu_{version}_{buildtype}
- defaults: liburcu
-
+## Anchors
+- liburcu_build_axes_defaults: &liburcu_build_axes_defaults
+ name: 'liburcu_build_axes_defaults'
project-type: matrix
node: 'master' # Applies only to matrix flyweight task
axes:
- axis:
type: user-defined
name: conf
- values:
- - std
- - static
- - tls_fallback
+ values: '{obj:conf}'
- axis:
type: user-defined
name: build
values: '{obj:build}'
+- liburcu_build_builders_defaults: &liburcu_build_builders_defaults
+ name: 'liburcu_build_builders_defaults'
builders:
- shell:
!include-raw-escape: scripts/liburcu/build.sh
- # TODO: Scan for open tasks
+- liburcu_build_builders_win: &liburcu_build_builders_win
+ name: 'liburcu_build_builders_win'
+ builders:
+ - conditional-step:
+ condition-kind: strings-match
+ on-evaluation-failure: run
+ condition-string1: '${{arch}}'
+ condition-string2: 'cygwin'
+ steps:
+ - shell:
+ !include-raw-escape:
+ - scripts/common/cygwin-shebang
+ - scripts/common/cygwin-prefix
+ - scripts/liburcu/build.sh
+ - conditional-step:
+ condition-kind: strings-match
+ on-evaluation-failure: run
+ condition-string1: '${{arch}}'
+ condition-string2: 'cygwin64'
+ steps:
+ - shell:
+ !include-raw-escape:
+ - scripts/common/cygwin64-shebang
+ - scripts/common/cygwin-prefix
+ - scripts/liburcu/build.sh
+ - conditional-step:
+ condition-kind: strings-match
+ on-evaluation-failure: run
+ condition-string1: '${{arch}}'
+ condition-string2: 'msys2-mingw32'
+ steps:
+ - inject:
+ properties-content: 'MSYSTEM=MINGW32'
+ - shell:
+ !include-raw-escape:
+ - scripts/common/msys2-shebang
+ - scripts/common/cygwin-prefix
+ - scripts/liburcu/build.sh
+ - conditional-step:
+ condition-kind: strings-match
+ on-evaluation-failure: run
+ condition-string1: '${{arch}}'
+ condition-string2: 'msys2-mingw64'
+ steps:
+ - inject:
+ properties-content: 'MSYSTEM=MINGW64'
+ - shell:
+ !include-raw-escape:
+ - scripts/common/msys2-shebang
+ - scripts/common/cygwin-prefix
+ - scripts/liburcu/build.sh
+
+- liburcu_build_publishers_defaults: &liburcu_build_publishers_defaults
+ name: 'liburcu_build_publishers_defaults'
publishers:
- warnings:
console-log-parsers:
matrix-notifier: only-parent
channels:
- name: '#lttng'
+ - email-ext:
+ recipients: '{obj:email_to}'
+ reply-to: ci-notification@lists.lttng.org
+ always: false
+ unstable: false
+ first-failure: true
+ first-unstable: true
+ not-built: false
+ aborted: false
+ regression: false
+ failure: false
+ second-failure: false
+ improvement: false
+ still-failing: false
+ success: false
+ fixed: false
+ fixed-unhealthy: true
+ still-unstable: false
+ pre-build: false
+ matrix-trigger: only-parent
+ send-to:
+ - recipients
+
+## Templates
+- job-template:
+ name: liburcu_{version}_{buildtype}
+ defaults: liburcu
+
+ <<: *liburcu_build_axes_defaults
+ <<: *liburcu_build_builders_defaults
+ <<: *liburcu_build_publishers_defaults
+
+- job-template:
+ name: liburcu_{version}_winbuild
+ defaults: liburcu
+
+ <<: *liburcu_build_axes_defaults
+ <<: *liburcu_build_builders_win
+ <<: *liburcu_build_publishers_defaults
- job-template:
name: liburcu_{version}_cppcheck
builders:
- shell: |
- rm -f liburcu-cppcheck.xml
- cppcheck --enable=all --xml --xml-version=2 $WORKSPACE 2> liburcu-cppcheck.xml
+ rm -f cppcheck-result.xml
+ cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> cppcheck-result.xml
publishers:
- archive:
- artifacts: 'liburcu-cppcheck.xml'
+ artifacts: 'cppcheck-result.xml'
allow-empty: false
- cppcheck:
- pattern: 'liburcu-cppcheck.xml'
- - email:
- recipients: 'ci-notification@lists.lttng.org'
- notify-every-unstable-build: true
- send-to-individuals: false
+ pattern: 'cppcheck-result.xml'
+ - email-ext:
+ recipients: '{obj:email_to}'
+ reply-to: ci-notification@lists.lttng.org
+ always: false
+ unstable: false
+ first-failure: true
+ first-unstable: false
+ not-built: false
+ aborted: false
+ regression: false
+ failure: false
+ second-failure: false
+ improvement: false
+ still-failing: false
+ success: false
+ fixed: false
+ fixed-unhealthy: true
+ still-unstable: true
+ pre-build: false
+ matrix-trigger: only-parent
+ send-to:
+ - recipients
- job-template:
name: liburcu_{version}_scan-build
builders:
- shell:
- !include-raw-escape: scripts/liburcu/scan-build.sh
+ !include-raw-escape: scripts/common/scan-build.sh
publishers:
- html-publisher:
cron: "@daily"
wrappers:
- - workspace-cleanup
+ - ansicolor
+ - timeout:
+ timeout: 60
+ fail: true
+ type: absolute
- timestamps
- - ansicolor:
- colormap: xterm
+ - workspace-cleanup:
+ clean-if:
+ - failure: false
- credentials-binding:
- username-password-separated:
credential-id: liburcu_coverity_token
publishers:
- workspace-cleanup
+ - archive:
+ artifacts: 'analysis-results.tgz,cov-int/**'
+ allow-empty: false
## Project
name: liburcu
github_user: urcu
github_name: userspace-rcu
+ email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
version:
- !include: jobs/inc/liburcu-versions.yaml.inc
+ - stable-0.8
+ - stable-0.9
+ - stable-0.10
+ - master
jobs:
- 'liburcu_{version}_{buildtype}':
buildtype: build
arch: !!python/tuple [x86-32, x86-64]
build: !!python/tuple [std, oot, dist]
+ conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
- 'liburcu_{version}_{buildtype}':
buildtype: portbuild
arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
build: !!python/tuple [std]
+ conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
+ - 'liburcu_{version}_{buildtype}':
+ buildtype: slesbuild
+ arch: !!python/tuple [sles12sp2]
+ build: !!python/tuple [std]
+ conf: !!python/tuple [std]
- 'liburcu_{version}_{buildtype}':
buildtype: solarisbuild
- arch: !!python/tuple [solaris10, solaris11]
+ arch: !!python/tuple [sol10-i386, sol11-i386]
build: !!python/tuple [std]
+ conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
version: # Solaris support was introduced in 0.9
- master
- stable-0.9
+ - stable-0.10
+ - 'liburcu_{version}_{buildtype}':
+ buildtype: macosxbuild
+ arch: !!python/tuple [macosx]
+ build: !!python/tuple [std]
+ conf: !!python/tuple [std, static, tls_fallback, debug-rcu]
+ version:
+ - master
+ - stable-0.9
+ - stable-0.10
+ - 'liburcu_{version}_winbuild':
+ arch: !!python/tuple [cygwin, cygwin64]
+ build: !!python/tuple [std]
+ conf: !!python/tuple [std]
+ version:
+ - master
+ - stable-0.9
+ - stable-0.10
- 'liburcu_{version}_cppcheck'
- 'liburcu_{version}_scan-build'
- 'liburcu_{version}_coverity':