X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=jobs%2Fliburcu.yaml;h=ee7a4279350e41b5cf5262e6bf44c2533a5bf498;hb=24e49fa56ef3c11d962d5cad8ca0b501dc966f67;hp=f22d19b44e8d5eaf97030991961c28440f53bf2b;hpb=0dc6aca08567d3ff637bd65f798610b961170df5;p=lttng-ci.git diff --git a/jobs/liburcu.yaml b/jobs/liburcu.yaml index f22d19b..ee7a427 100644 --- a/jobs/liburcu.yaml +++ b/jobs/liburcu.yaml @@ -4,7 +4,6 @@ # jobtypes: # - build # - portbuild -# - cppcheck # - coverity # - scan-build # - pylint @@ -27,139 +26,436 @@ project-type: freestyle - logrotate: - daysToKeep: -1 - numToKeep: 2 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - wrappers: - - workspace-cleanup + - ansicolor: &liburcu_wrapper_ansicolor_defaults + colormap: xterm + - timeout: &liburcu_wrapper_timeout_defaults + timeout: 90 + fail: true + type: absolute - timestamps - - ansicolor + - workspace-cleanup scm: - git: - url: https://github.com/urcu/userspace-rcu.git + url: https://github.com/{github_user}/{github_name}.git browser: githubweb - browser-url: https://github.com/urcu/userspace-rcu.git + browser-url: https://github.com/{github_user}/{github_name} branches: - origin/{version} + basedir: src/liburcu + skip-tag: true triggers: - - pollscm: "@hourly" + - 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/urcu/userspace-rcu/ - + url: https://github.com/{github_user}/{github_name} -## Templates -- job-template: - name: liburcu_{version}_{buildtype} - defaults: liburcu +## Anchors +- _liburcu_matrix_axes_defaults: &liburcu_matrix_axes_defaults + name: 'liburcu_matrix_axes_defaults' project-type: matrix - node: 'x86-32 || x86-64' # Applies only to matrix flyweight task + 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: - - std - - static - - tls_fallback + values: '{obj:confs}' - axis: type: user-defined name: build - values: '{obj: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/liburcu/build.sh + !include-raw-escape: + - scripts/common/print.sh + - scripts/liburcu/build.sh + {% endif %} - # TODO: Scan for open tasks +- _liburcu_publishers_defaults: &liburcu_publishers_defaults + name: 'liburcu_publishers_defaults' publishers: - - warnings: - console-log-parsers: - - 'GNU Make + GNU C Compiler (gcc)' - total-thresholds: - failed: - total-all: 0 - total-high: 0 - total-normal: 0 - total-low: 0 - - archive: - artifacts: 'build/**' + - 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 - fingerprint: true - - trigger: - project: lttng-ust-{version} - threshold: SUCCESS + - 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: liburcu_{version}_cppcheck + 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: - - pollscm: "@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 liburcu-cppcheck.xml - cppcheck --enable=all --xml --xml-version=2 $WORKSPACE 2> liburcu-cppcheck.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: 'liburcu-cppcheck.xml' - allow-empty: false - fingerprint: true - - cppcheck: - pattern: 'liburcu-cppcheck.xml' - - email: - recipients: 'ci-notification@lists.lttng.org' - notify-every-unstable-build: true - send-to-individuals: false + - 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: 'x86-64' + node: 'deb12-amd64' triggers: - - pollscm: "@daily" + - pollscm: + cron: "@daily" builders: - shell: - !include-raw-escape scripts/liburcu/scan-build.sh + !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 -# TODO: liburcu_{version}_coverity +- job-template: + name: liburcu_{version}_coverity + defaults: liburcu + node: 'deb12-amd64' + triggers: + - pollscm: + cron: "@daily" -## Project + 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: - !include jobs/inc/liburcu-versions.yaml.inc + - stable-0.13 + - stable-0.14 + - master jobs: - - 'liburcu_{version}_{buildtype}': - buildtype: build - arch: !!python/tuple [x86-32, x86-64] - build: !!python/tuple [std, oot, dist] - - '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, powerpc] - build: !!python/tuple [std] - - 'liburcu_{version}_cppcheck' + 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