# {project}_{version}_{jobtype} # liburcu_stable-0.8_build # # jobtypes: # - build # - portbuild # - 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: &liburcu_wrapper_ansicolor_defaults colormap: xterm - timeout: &liburcu_wrapper_timeout_defaults timeout: 90 fail: true type: absolute - timestamps - workspace-cleanup scm: - git: url: https://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 triggers: - pollscm: cron: "@hourly" properties: - inject: properties-content: | PROJECT_NAME=liburcu - build-discarder: num-to-keep: 10 artifact-num-to-keep: 2 - github: url: https://github.com/{github_user}/{github_name} ## Anchors - _liburcu_matrix_axes_defaults: &liburcu_matrix_axes_defaults name: 'liburcu_matrix_axes_defaults' project-type: matrix node: 'master' # Applies only to matrix flyweight task execution-strategy: touchstone: expr: '{touchstone}' result: unstable axes: - axis: type: slave name: platform values: '{obj:platforms}' - axis: type: user-defined name: conf values: '{obj:confs}' - axis: type: user-defined name: build values: '{obj:builds}' - _liburcu_builders_defaults: &liburcu_builders_defaults name: 'liburcu_builders_defaults' builders: !j2-yaml: | {% if buildtype == 'winbuild' %} - conditional-step: condition-kind: strings-match on-evaluation-failure: run condition-string1: {{ '${{platform}}' }} condition-string2: 'cygwin64' steps: - shell: !include-raw-escape: - scripts/common/cygwin64-shebang - scripts/common/cygpath-prefix - scripts/common/print.sh - scripts/liburcu/build.sh {% else %} - shell: !include-raw-escape: - scripts/common/print.sh - scripts/liburcu/build.sh {% endif %} - _liburcu_publishers_defaults: &liburcu_publishers_defaults name: 'liburcu_publishers_defaults' publishers: - tap: &liburcu_publisher_tap_defaults results: 'tap/**/*.log' fail-if-no-results: true failed-tests-mark-build-as-failure: true include-comment-diagnostics: true output-tap-to-console: false todo-is-failure: false - raw: &liburcu_publisher_warnings-ng_defaults xml: | false false true false 0 0 LOW true true false true false 1 TOTAL WARNING AGGREGATION_TOOLS - archive: &liburcu_publisher_archive_defaults artifacts: 'build/**,tap/**,log/**' follow-symlinks: true allow-empty: false - workspace-cleanup: &liburcu_publisher_workspace_cleanup_defaults clean-if: - failure: false - ircbot: &liburcu_publisher_ircbot_defaults strategy: statechange-only message-type: summary matrix-notifier: only-parent - email-ext: &liburcu_publisher_email_ext_defaults 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: '{job_prefix}liburcu_{version}_{buildtype}' defaults: liburcu <<: *liburcu_matrix_axes_defaults <<: *liburcu_builders_defaults <<: *liburcu_publishers_defaults - job-template: name: dev_review_liburcu_{version}_{buildtype} defaults: liburcu concurrent: true scm: - git: url: https://review.lttng.org/userspace-rcu refspec: 'refs/changes/*:refs/changes/*' branches: - '$GERRIT_REFSPEC' basedir: src/liburcu skip-tag: true triggers: - gerrit: trigger-on: - comment-added-event: approval-category: 'CI-Build' approval-value: 1 projects: - project-compare-type: 'PLAIN' project-pattern: 'userspace-rcu' branches: - branch-compare-type: 'PLAIN' branch-pattern: '{version}' properties: - inject: properties-content: | PROJECT_NAME=liburcu - build-discarder: days-to-keep: 1 - throttle: option: 'category' categories: - 'gerrit-{buildtype}' <<: *liburcu_matrix_axes_defaults <<: *liburcu_builders_defaults publishers: - tap: *liburcu_publisher_tap_defaults - raw: *liburcu_publisher_warnings-ng_defaults - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults - job-template: name: liburcu_{version}_scan-build defaults: liburcu node: 'deb12-amd64' 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' - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults - ircbot: *liburcu_publisher_ircbot_defaults - job-template: name: liburcu_{version}_coverity defaults: liburcu node: 'deb12-amd64' triggers: - pollscm: cron: "@daily" wrappers: - ansicolor: *liburcu_wrapper_ansicolor_defaults - timeout: *liburcu_wrapper_timeout_defaults - timestamps - workspace-cleanup - 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: - archive: artifacts: 'analysis-results.tgz,cov-int/**' allow-empty: false - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults - ircbot: *liburcu_publisher_ircbot_defaults ## Views - view-template: name: 'Liburcu' view-type: list regex: 'liburcu[-_].*' ## Projects - project: name: liburcu job_prefix: '' github_user: urcu github_name: userspace-rcu email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com' version: - stable-0.13 - stable-0.14 - master jobs: - '{job_prefix}liburcu_{version}_{buildtype}': version: master buildtype: linuxbuild platforms: !!python/tuple [deb12-amd64] builds: !!python/tuple [std, oot, dist] confs: !!python/tuple [std, static, atomic-builtins, tls_fallback, debug-rcu] touchstone: '(build == "std") && (conf == "std")' - '{job_prefix}liburcu_{version}_{buildtype}': version: stable-0.14 buildtype: linuxbuild platforms: !!python/tuple [deb12-amd64] builds: !!python/tuple [std, oot, dist] confs: !!python/tuple [std, static, tls_fallback, debug-rcu] touchstone: '(build == "std") && (conf == "std")' - '{job_prefix}liburcu_{version}_{buildtype}': version: stable-0.13 buildtype: linuxbuild platforms: !!python/tuple [deb12-amd64] builds: !!python/tuple [std, oot, dist] confs: !!python/tuple [std, static, tls_fallback, debug-rcu] touchstone: '(build == "std") && (conf == "std")' # Common - '{job_prefix}liburcu_{version}_{buildtype}': buildtype: portbuild platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386] builds: !!python/tuple [std] confs: !!python/tuple [std, static, tls_fallback, debug-rcu] touchstone: '(build == "std") && (conf == "std") && (platform == "deb12-i386")' - '{job_prefix}liburcu_{version}_{buildtype}': buildtype: slesbuild platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64, sles15sp5-amd64] builds: !!python/tuple [std] confs: !!python/tuple [std] touchstone: '(build == "std")' - '{job_prefix}liburcu_{version}_{buildtype}': buildtype: elbuild platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64, el7-arm64, el8-arm64, el9-arm64] builds: !!python/tuple [std] confs: !!python/tuple [std] touchstone: '(build == "std")' - '{job_prefix}liburcu_{version}_{buildtype}': buildtype: yoctobuild platforms: !!python/tuple [yocto23-powerpcspe, yocto40-powerpc, yocto40-ppc64] builds: !!python/tuple [std] confs: !!python/tuple [std] touchstone: '(build == "std")' - '{job_prefix}liburcu_{version}_{buildtype}': buildtype: macosbuild platforms: !!python/tuple [macos-arm64] builds: !!python/tuple [std] confs: !!python/tuple [std] touchstone: '(build == "std")' - '{job_prefix}liburcu_{version}_{buildtype}': buildtype: winbuild platforms: !!python/tuple [cygwin64] builds: !!python/tuple [std] confs: !!python/tuple [std] touchstone: '(build == "std")' - '{job_prefix}liburcu_{version}_{buildtype}': buildtype: freebsdbuild platforms: !!python/tuple [freebsd-amd64] builds: !!python/tuple [std] confs: !!python/tuple [std] touchstone: '(build == "std")' - 'liburcu_{version}_scan-build' - 'liburcu_{version}_coverity': version: master - project: name: liburcu-dev-upstream job_prefix: 'dev_upstream_' github_user: urcu github_name: userspace-rcu email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com' version: - stable-0.9 - stable-0.10 - stable-0.11 - stable-0.12 jobs: - '{job_prefix}liburcu_{version}_{buildtype}': buildtype: linuxbuild platforms: !!python/tuple [deb12-amd64] builds: !!python/tuple [std, oot, dist] confs: !!python/tuple [std, static, tls_fallback, debug-rcu] touchstone: '(build == "std") && (conf == "std")' - '{job_prefix}liburcu_{version}_{buildtype}': buildtype: portbuild platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386] builds: !!python/tuple [std] confs: !!python/tuple [std, static, tls_fallback, debug-rcu] touchstone: '(build == "std") && (conf == "std") && (platform == "deb12-i386")' - '{job_prefix}liburcu_{version}_{buildtype}': buildtype: slesbuild platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64, sles15sp5-amd64] builds: !!python/tuple [std] confs: !!python/tuple [std] touchstone: '(build == "std")' - '{job_prefix}liburcu_{version}_{buildtype}': buildtype: elbuild platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64] builds: !!python/tuple [std] confs: !!python/tuple [std] touchstone: '(build == "std")' - project: name: review-liburcu github_user: urcu github_name: userspace-rcu version: - stable-0.13 - stable-0.14 - master jobs: - 'dev_review_liburcu_{version}_{buildtype}': buildtype: linuxbuild platforms: !!python/tuple [deb12-amd64] builds: !!python/tuple [std, oot, dist] confs: !!python/tuple [std, static, tls_fallback, debug-rcu] touchstone: '(build == "std")' - 'dev_review_liburcu_{version}_{buildtype}': buildtype: portbuild platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386] builds: !!python/tuple [std] confs: !!python/tuple [std] touchstone: '' - 'dev_review_liburcu_{version}_{buildtype}': buildtype: winbuild platforms: !!python/tuple [cygwin64] builds: !!python/tuple [std] confs: !!python/tuple [std] touchstone: '' - project: name: liburcu-views views: - Liburcu