X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=jobs%2Fliburcu.yaml;h=46e17c3ed01a1b6044b6c9c191a42b4041be687e;hb=98aca00598dec2826ff66db1c88f2687b2941fa2;hp=c08e55243e1d681684eb38cd54a3e5a9024f3334;hpb=9a00aa82d596dce1173f94d3a1bbfb54dcf30dca;p=lttng-ci.git diff --git a/jobs/liburcu.yaml b/jobs/liburcu.yaml index c08e552..46e17c3 100644 --- a/jobs/liburcu.yaml +++ b/jobs/liburcu.yaml @@ -27,40 +27,47 @@ 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: git://github.com/urcu/userspace-rcu.git + url: git://github.com/{github_user}/{github_name}.git browser: githubweb - browser-url: https://github.com/urcu/userspace-rcu + browser-url: https://github.com/{github_user}/{github_name} branches: - origin/{version} + basedir: src/liburcu + skip-tag: true + git-tool: jgit 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,45 +76,142 @@ - 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/liburcu/build.sh - # TODO: Scan for open tasks +- 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: - #failed: - # total-all: 0 - # total-high: 0 - # total-normal: 0 - # total-low: 0 + 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: "@daily" + - pollscm: + cron: "@daily" builders: - shell: | rm -f liburcu-cppcheck.xml - cppcheck --enable=all --xml --xml-version=2 $WORKSPACE 2> liburcu-cppcheck.xml + cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> liburcu-cppcheck.xml publishers: - archive: @@ -115,10 +219,28 @@ allow-empty: false - cppcheck: pattern: 'liburcu-cppcheck.xml' - - email: - recipients: 'ci-notification@lists.lttng.org' - notify-every-unstable-build: true - send-to-individuals: false + - 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 @@ -126,11 +248,12 @@ node: 'x86-64' 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: @@ -138,23 +261,97 @@ dir: 'scan-build-archive/' files: 'index.html' -# TODO: liburcu_{version}_coverity +- 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: - !include jobs/inc/liburcu-versions.yaml.inc + - 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, powerpc] + 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