# {project}_{version}_{jobtype} # liburcu_stable-0.8_build # # jobtypes: # - build # - portbuild # - cppcheck # - coverity # - scan-build # - pylint - defaults: name: liburcu description: | liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This data synchronization library provides read-side access which scales linearly with the number of cores. It does so by allowing multiples copies of a given data structure to live at the same time, and by monitoring the data structure accesses to detect grace periods after which memory reclamation is possible. liburcu-cds provides efficient data structures based on RCU and lock-free algorithms. Those structures include hash tables, queues, stacks, and doubly-linked lists.

Job is managed by Jenkins Job Builder.

project-type: freestyle wrappers: - ansicolor - timeout: timeout: 90 fail: true type: absolute - timestamps - workspace-cleanup: clean-if: - failure: false scm: - git: url: git://github.com/{github_user}/{github_name}.git browser: githubweb 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} ## 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: slave name: arch values: '{obj:arch}' - axis: type: user-defined name: conf 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 - 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: - 'GNU Make + GNU C Compiler (gcc)' total-thresholds: unstable: total-all: 0 total-high: 0 total-normal: 0 total-low: 0 - archive: artifacts: 'build/**' allow-empty: false - ircbot: strategy: new-failure-and-fixed 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 defaults: liburcu triggers: - pollscm: cron: "@daily" builders: - shell: | rm -f liburcu-cppcheck.xml cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> liburcu-cppcheck.xml publishers: - archive: artifacts: 'liburcu-cppcheck.xml' allow-empty: false - cppcheck: pattern: 'liburcu-cppcheck.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 defaults: liburcu node: 'x86-64' triggers: - pollscm: cron: "@daily" builders: - shell: !include-raw-escape: scripts/common/scan-build.sh publishers: - html-publisher: name: 'HTML Report' dir: 'scan-build-archive/' files: 'index.html' - job-template: name: liburcu_{version}_coverity defaults: liburcu node: 'x86-64' triggers: - pollscm: cron: "@daily" wrappers: - ansicolor - timeout: timeout: 60 fail: true type: absolute - timestamps - workspace-cleanup: clean-if: - failure: false - credentials-binding: - username-password-separated: credential-id: liburcu_coverity_token username: COVERITY_SCAN_PROJECT_NAME password: COVERITY_SCAN_TOKEN builders: - shell: !include-raw-escape: scripts/common/coverity.sh publishers: - workspace-cleanup - archive: artifacts: 'analysis-results.tgz,cov-int/**' allow-empty: false ## Project - project: name: liburcu github_user: urcu github_name: userspace-rcu email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com' version: - 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 [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': version: master