X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=jobs%2Fliburcu.yaml;h=ee7a4279350e41b5cf5262e6bf44c2533a5bf498;hb=24e49fa56ef3c11d962d5cad8ca0b501dc966f67;hp=71dd2230dabd623f2d26ed79dc213f543829cb73;hpb=6406e72de1a3a092bf8ab2045eed828c24e84d7a;p=lttng-ci.git diff --git a/jobs/liburcu.yaml b/jobs/liburcu.yaml index 71dd223..ee7a427 100644 --- a/jobs/liburcu.yaml +++ b/jobs/liburcu.yaml @@ -4,7 +4,6 @@ # jobtypes: # - build # - portbuild -# - cppcheck # - coverity # - scan-build # - pylint @@ -28,19 +27,18 @@ project-type: freestyle wrappers: - - ansicolor - - timeout: + - ansicolor: &liburcu_wrapper_ansicolor_defaults + colormap: xterm + - timeout: &liburcu_wrapper_timeout_defaults timeout: 90 fail: true type: absolute - timestamps - - workspace-cleanup: - clean-if: - - failure: false + - workspace-cleanup scm: - git: - url: git://github.com/{github_user}/{github_name}.git + url: https://github.com/{github_user}/{github_name}.git browser: githubweb browser-url: https://github.com/{github_user}/{github_name} branches: @@ -57,114 +55,121 @@ properties-content: | PROJECT_NAME=liburcu - build-discarder: - num-to-keep: 2 + num-to-keep: 10 + artifact-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' +- _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: arch - values: '{obj:arch}' + name: platform + values: '{obj:platforms}' - axis: type: user-defined name: conf - values: '{obj:conf}' + values: '{obj:confs}' - axis: type: user-defined name: build - values: '{obj:build}' + values: '{obj:builds}' -- liburcu_build_builders_defaults: &liburcu_build_builders_defaults - name: 'liburcu_build_builders_defaults' +- _liburcu_builders_defaults: &liburcu_builders_defaults + name: 'liburcu_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 + !j2-yaml: | + {% if buildtype == 'winbuild' %} - conditional-step: condition-kind: strings-match on-evaluation-failure: run - condition-string1: '${{arch}}' + condition-string1: {{ '${{platform}}' }} 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/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_build_publishers_defaults: &liburcu_build_publishers_defaults - name: 'liburcu_build_publishers_defaults' +- _liburcu_publishers_defaults: &liburcu_publishers_defaults + name: 'liburcu_publishers_defaults' publishers: - - tap: + - 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 - - 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/**,tap/**' + - 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 - - ircbot: - strategy: new-failure-and-fixed + - 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 - channels: - - name: '#lttng' - - email-ext: + - email-ext: &liburcu_publisher_email_ext_defaults recipients: '{obj:email_to}' reply-to: ci-notification@lists.lttng.org always: false @@ -189,67 +194,63 @@ ## Templates - job-template: - name: liburcu_{version}_{buildtype} + name: '{job_prefix}liburcu_{version}_{buildtype}' defaults: liburcu - <<: *liburcu_build_axes_defaults - <<: *liburcu_build_builders_defaults - <<: *liburcu_build_publishers_defaults + <<: *liburcu_matrix_axes_defaults + <<: *liburcu_builders_defaults + <<: *liburcu_publishers_defaults - job-template: - name: liburcu_{version}_winbuild + name: dev_review_liburcu_{version}_{buildtype} defaults: liburcu + concurrent: true - <<: *liburcu_build_axes_defaults - <<: *liburcu_build_builders_win - <<: *liburcu_build_publishers_defaults - -- job-template: - name: liburcu_{version}_cppcheck - defaults: liburcu + scm: + - git: + url: https://review.lttng.org/userspace-rcu + refspec: 'refs/changes/*:refs/changes/*' + branches: + - '$GERRIT_REFSPEC' + basedir: src/liburcu + skip-tag: true triggers: - - pollscm: - cron: "@daily" + - 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}' - builders: - - shell: | - rm -f cppcheck-result.xml - cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> cppcheck-result.xml + 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: - - archive: - artifacts: 'cppcheck-result.xml' - allow-empty: false - - cppcheck: - 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 + - 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: 'amd64' + node: 'deb12-amd64' triggers: - pollscm: @@ -264,26 +265,23 @@ 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: 'amd64' + node: 'deb12-amd64' triggers: - pollscm: cron: "@daily" wrappers: - - ansicolor - - timeout: - timeout: 60 - fail: true - type: absolute + - ansicolor: *liburcu_wrapper_ansicolor_defaults + - timeout: *liburcu_wrapper_timeout_defaults - timestamps - - workspace-cleanup: - clean-if: - - failure: false + - workspace-cleanup - credentials-binding: - username-password-separated: credential-id: liburcu_coverity_token @@ -295,10 +293,11 @@ !include-raw-escape: scripts/common/coverity.sh publishers: - - workspace-cleanup - archive: artifacts: 'analysis-results.tgz,cov-int/**' allow-empty: false + - workspace-cleanup: *liburcu_publisher_workspace_cleanup_defaults + - ircbot: *liburcu_publisher_ircbot_defaults ## Views @@ -311,70 +310,151 @@ ## 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.8 - - stable-0.9 - - stable-0.10 - - stable-0.11 + - stable-0.13 + - stable-0.14 - master jobs: - - 'liburcu_{version}_{buildtype}': - buildtype: build - arch: !!python/tuple [amd64] - build: !!python/tuple [std, oot, dist] - conf: !!python/tuple [std, static, tls_fallback, debug-rcu] - - 'liburcu_{version}_{buildtype}': + - '{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 - arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386] - build: !!python/tuple [std] - conf: !!python/tuple [std, static, tls_fallback, debug-rcu] - - 'liburcu_{version}_{buildtype}': + 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 - arch: !!python/tuple [sles12sp2] - build: !!python/tuple [std] - conf: !!python/tuple [std] - - 'liburcu_{version}_{buildtype}': + 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 - arch: !!python/tuple [el8] - 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 - - stable-0.11 - - '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 - - stable-0.11 - - 'liburcu_{version}_winbuild': - arch: !!python/tuple [cygwin, cygwin64] - build: !!python/tuple [std] - conf: !!python/tuple [std] - version: - - master - - stable-0.9 - - stable-0.10 - - stable-0.11 - - 'liburcu_{version}_cppcheck' + 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: