X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=jobs%2Fliburcu.yaml;h=98e40b4478093025567eca59d86cca42ced23852;hb=51c9c62db1805a4cdd96be18df4082f1ac5d81c5;hp=6d25f075d31b32ccb178b0bc89b16d46942d18aa;hpb=83001feae3fdc3c85ee07603edca45d2cdd435f4;p=lttng-ci.git diff --git a/jobs/liburcu.yaml b/jobs/liburcu.yaml index 6d25f07..98e40b4 100644 --- a/jobs/liburcu.yaml +++ b/jobs/liburcu.yaml @@ -27,40 +27,46 @@ project-type: freestyle - logrotate: - daysToKeep: -1 - numToKeep: 2 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - wrappers: - - workspace-cleanup - - timestamps - ansicolor + - timeout: + timeout: 90 + fail: true + type: absolute + - timestamps + - workspace-cleanup: + clean-if: + - failure: false 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: 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_build_axes_defaults: &liburcu_build_axes_defaults + name: 'liburcu_build_axes_defaults' project-type: matrix - node: 'x86-32 || x86-64' # Applies only to matrix flyweight task + node: 'master' # Applies only to matrix flyweight task axes: - axis: type: slave @@ -69,71 +75,155 @@ - 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 + !include-raw-escape: + - scripts/common/print.sh + - 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: 'cygwin64' + steps: + - shell: + !include-raw-escape: + - scripts/common/cygwin64-shebang + - scripts/common/cygpath-prefix + - scripts/common/print.sh + - scripts/liburcu/build.sh - # TODO: Scan for open tasks +- liburcu_build_publishers_defaults: &liburcu_build_publishers_defaults + name: 'liburcu_build_publishers_defaults' publishers: + - tap: + results: 'tap/**/*.log' + fail-if-no-results: true + failed-tests-mark-build-as-failure: true + todo-is-failure: false - warnings: console-log-parsers: - 'GNU Make + GNU C Compiler (gcc)' total-thresholds: - failed: + unstable: total-all: 0 total-high: 0 total-normal: 0 total-low: 0 - archive: - artifacts: 'build/**' + artifacts: 'build/**,tap/**' allow-empty: false - - trigger: - project: lttng-ust-{version} - threshold: SUCCESS + - 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: "@daily" + - pollscm: + cron: "@daily" 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 defaults: liburcu - node: 'x86-64' + node: '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: @@ -141,23 +231,102 @@ dir: 'scan-build-archive/' files: 'index.html' -# TODO: liburcu_{version}_coverity +- job-template: + name: liburcu_{version}_coverity + defaults: liburcu + node: 'amd64' + triggers: + - pollscm: + cron: "@daily" -## Project + 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 + + +## Views +- view-template: + name: 'Liburcu' + view-type: list + regex: 'liburcu[-_].*' + + +## Projects - 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.9 + - stable-0.10 + - stable-0.11 + - stable-0.12 + - master jobs: - 'liburcu_{version}_{buildtype}': buildtype: build - arch: !!python/tuple [x86-32, x86-64] + arch: !!python/tuple [amd64] build: !!python/tuple [std, oot, dist] + conf: !!python/tuple [std, static, tls_fallback, debug-rcu] - 'liburcu_{version}_{buildtype}': buildtype: portbuild - arch: !!python/tuple [armhf, powerpc] + arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386] + 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: 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] + - 'liburcu_{version}_{buildtype}': + buildtype: macosxbuild + arch: !!python/tuple [macosx] + build: !!python/tuple [std] + conf: !!python/tuple [std, static, tls_fallback, debug-rcu] + - 'liburcu_{version}_winbuild': + arch: !!python/tuple [cygwin64] + build: !!python/tuple [std] + conf: !!python/tuple [std] - 'liburcu_{version}_cppcheck' - 'liburcu_{version}_scan-build' + - 'liburcu_{version}_coverity': + version: master +- project: + name: liburcu-views + views: + - Liburcu