X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=jobs%2Fbabeltrace.yaml;h=057d09c55ced7fe4de874d8241a56a697ea38640;hb=3945afd55be6a34f138383dbef2b8bb075bd5e8e;hp=172b7cf50f4f254ae0293108a83009291d96def2;hpb=1d9e7aaad1f72016eb5ddbaa89082a160d66a7f2;p=lttng-ci.git diff --git a/jobs/babeltrace.yaml b/jobs/babeltrace.yaml index 172b7cf..057d09c 100644 --- a/jobs/babeltrace.yaml +++ b/jobs/babeltrace.yaml @@ -14,14 +14,16 @@ project-type: freestyle - logrotate: - numToKeep: 2 - wrappers: - - workspace-cleanup + - ansicolor + - timeout: + timeout: 90 + fail: true + type: absolute - timestamps - - ansicolor: - colormap: xterm + - workspace-cleanup: + clean-if: + - failure: false scm: - git: @@ -30,22 +32,45 @@ browser-url: https://github.com/{github_user}/{github_name} branches: - origin/{version} + basedir: src/babeltrace + skip-tag: true + git-tool: jgit triggers: - pollscm: cron: "@hourly" properties: + - inject: + properties-content: | + PROJECT_NAME=babeltrace + - build-discarder: + num-to-keep: 2 - github: url: https://github.com/{github_user}/{github_name} -## Templates - -- babeltrace_version_buildtype_anchor: &babeltrace_version_buildtype_anchor - name: 'babeltrace_version_buildtype_anchor' - defaults: babeltrace +## Anchors +- babeltrace_build_axes_defaults: &babeltrace_build_axes_defaults + name: 'babeltrace_build_axes_defaults' + project-type: matrix + node: 'master' # Applies only to matrix flyweight task + axes: + - axis: + type: slave + name: arch + values: '{obj:arch}' + - axis: + type: user-defined + name: conf + values: '{obj:conf}' + - axis: + type: user-defined + name: build + values: '{obj:build}' +- babeltrace_build_axes_cc: &babeltrace_build_axes_cc + name: 'babeltrace_build_axes_cc' project-type: matrix node: 'master' # Applies only to matrix flyweight task axes: @@ -61,18 +86,114 @@ type: user-defined name: build values: '{obj:build}' + - axis: + type: user-defined + name: cc + values: '{obj:cc}' +- babeltrace_build_builders_defaults: &babeltrace_build_builders_defaults + name: 'babeltrace_build_builders_defaults' builders: - shell: !include-raw-escape: scripts/babeltrace/build.sh -- job-template: - name: babeltrace_{version}_{buildtype} - <<: *babeltrace_version_buildtype_anchor - # TODO: Scan for open tasks +- babeltrace_build_builders_win: &babeltrace_build_builders_win + name: 'babeltrace_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/babeltrace/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/babeltrace/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/babeltrace/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/babeltrace/build.sh + + +- babeltrace_build_publishers_dev: &babeltrace_build_publishers_dev + name: 'babeltrace_build_publishers_dev' publishers: - tap: - results: 'tests/**/*.log' + results: 'tap/**/*.log' + failed-tests-mark-build-as-failure: true + 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 + - email-ext: + recipients: '{obj:email_to}' + 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 + + +- babeltrace_build_publishers_prod: &babeltrace_build_publishers_prod + name: 'babeltrace_build_publishers_prod' + publishers: + - tap: + results: 'tap/**/*.log' failed-tests-mark-build-as-failure: true todo-is-failure: false - warnings: @@ -87,18 +208,34 @@ - archive: artifacts: 'build/**' allow-empty: false - - ircbot: - strategy: new-failure-and-fixed - matrix-notifier: only-parent - channels: - - name: '#lttng' - -- job-template: - name: dev_{user}_babeltrace_{version}_{buildtype} - <<: *babeltrace_version_buildtype_anchor + - 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 + +- babeltrace_build_publishers_gerrit: &babeltrace_build_publishers_gerrit + name: 'babeltrace_build_publishers_gerrit' publishers: - tap: - results: 'tests/**/*.log' + results: 'tap/**/*.log' failed-tests-mark-build-as-failure: true todo-is-failure: false - warnings: @@ -110,6 +247,103 @@ total-high: 0 total-normal: 0 total-low: 0 + - archive: + artifacts: 'build/**' + allow-empty: false + + +## Templates + +- job-template: + name: babeltrace_{version}_{buildtype} + defaults: babeltrace + + <<: *babeltrace_build_axes_defaults + <<: *babeltrace_build_builders_defaults + <<: *babeltrace_build_publishers_prod + +- job-template: + name: babeltrace_{version}_{cctype} + defaults: babeltrace + + <<: *babeltrace_build_axes_cc + <<: *babeltrace_build_builders_defaults + <<: *babeltrace_build_publishers_prod + +- job-template: + name: babeltrace_{version}_winbuild + defaults: babeltrace + + <<: *babeltrace_build_axes_defaults + <<: *babeltrace_build_builders_win + <<: *babeltrace_build_publishers_prod + +- job-template: + name: dev_{user}_babeltrace_{version}_{buildtype} + defaults: babeltrace + + <<: *babeltrace_build_axes_defaults + <<: *babeltrace_build_builders_defaults + <<: *babeltrace_build_publishers_dev + +- job-template: + name: dev_gerrit_babeltrace_{buildtype} + defaults: babeltrace + concurrent: true + + scm: + - git: + url: https://review.lttng.org/babeltrace + refspec: 'refs/changes/*:refs/changes/*' + branches: + - '$GERRIT_REFSPEC' + basedir: src/babeltrace + skip-tag: true + + triggers: + - gerrit: + trigger-on: + - comment-added-event: + approval-category: 'CI-Build' + approval-value: 1 + projects: + - project-compare-type: 'PLAIN' + project-pattern: 'babeltrace' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**' + trigger-for-unreviewed-patches: true + + project-type: matrix + node: 'master' # Applies only to matrix flyweight task + execution-strategy: + combination-filter: | + (build=="std" && conf=="python-bindings") || (arch=="amd64") + axes: + - axis: + type: slave + name: arch + values: '{obj:arch}' + - axis: + type: user-defined + name: conf + values: '{obj:conf}' + - axis: + type: user-defined + name: build + values: '{obj:build}' + + <<: *babeltrace_build_builders_defaults + <<: *babeltrace_build_publishers_gerrit + + properties: + - inject: + properties-content: | + PROJECT_NAME=babeltrace + - build-discarder: + days-to-keep: 2 + - github: + url: https://github.com/{github_user}/{github_name} - job-template: name: babeltrace_{version}_cppcheck @@ -121,24 +355,20 @@ builders: - shell: | - rm -f babeltrace-cppcheck.xml - cppcheck --enable=all --xml --xml-version=2 $WORKSPACE 2> babeltrace-cppcheck.xml + rm -f cppcheck-result.xml + cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/babeltrace 2> cppcheck-result.xml publishers: - archive: - artifacts: 'babeltrace-cppcheck.xml' + artifacts: 'cppcheck-result.xml' allow-empty: false - cppcheck: - pattern: 'babeltrace-cppcheck.xml' - - email: - recipients: 'ci-notification@lists.lttng.org' - notify-every-unstable-build: true - send-to-individuals: false + pattern: 'cppcheck-result.xml' - job-template: name: babeltrace_{version}_scan-build defaults: babeltrace - node: 'x86-64' + node: 'amd64' triggers: - pollscm: @@ -146,7 +376,7 @@ builders: - shell: - !include-raw-escape: scripts/babeltrace/scan-build.sh + !include-raw-escape: scripts/common/scan-build.sh publishers: - html-publisher: @@ -157,7 +387,7 @@ - job-template: name: babeltrace_{version}_coverity defaults: babeltrace - node: 'x86-64' + node: 'amd64' triggers: - pollscm: @@ -179,11 +409,14 @@ publishers: - workspace-cleanup + - archive: + artifacts: 'analysis-results.tgz,cov-int/**' + allow-empty: false - job-template: name: babeltrace_{version}_pylint defaults: babeltrace - node: 'x86-64' + node: 'amd64' scm: [] @@ -193,9 +426,9 @@ builders: - copyartifact: - project: babeltrace_{version}_build/arch=x86-64,build=std,conf=python-bindings + project: babeltrace_{version}_build/arch=amd64,build=std,conf=python-bindings which-build: last-successful - stable: true + stable: false filter: 'build/**' target: 'deps/babeltrace' - shell: @@ -215,23 +448,41 @@ min: 10 max: 999 unstable: 999 - - 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: 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 # Use - in version number since yaml anchor do not support dot - babeltrace_version_glib-2-22-5_anchor: &babeltrace_version_glib-2-22-5_anchor name: 'babeltrace_version_glib_anchor' defaults: babeltrace - node: 'x86-64' + node: 'amd64' builders: - inject: properties-content: | LD_LIBRARY_PATH=$WORKSPACE/glib-2.22.5/BUILD_RESULT/lib PKG_CONFIG_PATH=$WORKSPACE/glib-2.22.5/BUILD_RESULT/lib/pkgconfig - arch=x86-64 + arch=amd64 conf=std build=std - shell: | @@ -252,49 +503,132 @@ - pollscm: cron: "@daily" <<: *babeltrace_version_glib-2-22-5_anchor + publishers: + - 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 - job-template: name: dev_{user}_babeltrace_{version}_glib-2.22.5 <<: *babeltrace_version_glib-2-22-5_anchor + publishers: + - 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 + ## Project - project: name: babeltrace github_user: efficios github_name: babeltrace + email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com' version: - !include: jobs/inc/babeltrace-versions.yaml.inc + - stable-1.5 + - stable-2.0 + - master jobs: - 'babeltrace_{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, python-bindings] + conf: !!python/tuple [std, static, python-bindings, production] + version: + - stable-2.0 + - master - 'babeltrace_{version}_{buildtype}': - buildtype: clangbuild - arch: !!python/tuple [x86-32, x86-64] - build: !!python/tuple [clang] - conf: !!python/tuple [std, static] + buildtype: build + arch: !!python/tuple [amd64] + build: !!python/tuple [std, oot, dist] + conf: !!python/tuple [std, static, python-bindings] + version: + - stable-1.5 - 'babeltrace_{version}_{buildtype}': buildtype: portbuild - arch: !!python/tuple [armhf, arm64, powerpc, ppc64el] + arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386] build: !!python/tuple [std] conf: !!python/tuple [std, static, python-bindings] - 'babeltrace_{version}_{buildtype}': - buildtype: solarisbuild - arch: !!python/tuple [solaris10, solaris11] + buildtype: slesbuild + arch: !!python/tuple [sles12sp2] build: !!python/tuple [std] - conf: !!python/tuple [std, static] - version: + conf: !!python/tuple [std] + version: # // support 1.3 on SLES12 - stable-1.3 + - stable-1.5 + - stable-2.0 - master + - 'babeltrace_{version}_{buildtype}': + buildtype: solarisbuild + arch: !!python/tuple [sol10-i386, sol11-i386] + build: !!python/tuple [std] + conf: !!python/tuple [std, static] - 'babeltrace_{version}_{buildtype}': buildtype: macosxbuild arch: !!python/tuple [macosx] build: !!python/tuple [std] + conf: !!python/tuple [std] + version: # macOS support was introduced in 1.4 + - stable-1.5 + - stable-2.0 + - master + - 'babeltrace_{version}_{cctype}': + cctype: clangbuild + arch: !!python/tuple [amd64] + build: !!python/tuple [std] conf: !!python/tuple [std, static] - version: + cc: !!python/tuple [clang-3.9, clang-4.0, clang-6.0, clang-7] + - 'babeltrace_{version}_winbuild': + arch: !!python/tuple [cygwin, cygwin64, msys2-mingw32, msys2-mingw64] + build: !!python/tuple [std] + conf: !!python/tuple [std] + version: # Mingw support was introduced in 2.0 + - stable-2.0 - master + - 'babeltrace_{version}_winbuild': + arch: !!python/tuple [cygwin, cygwin64] + build: !!python/tuple [std] + conf: !!python/tuple [std] + version: # Cygwin support was introduced in 1.5 + - stable-1.5 - 'babeltrace_{version}_cppcheck' - 'babeltrace_{version}_scan-build' - 'babeltrace_{version}_pylint' @@ -302,22 +636,46 @@ version: master - 'babeltrace_{version}_glib-2.22.5': version: master + + +- project: + name: babeltrace-jgalar-staging + user: jgalar + github_user: jgalar + github_name: babeltrace + email_to: "jgalar@efficios.com" + version: + - stable-1.3-staging + - stable-1.5-staging + - stable-2.0-staging + - master-staging + jobs: - 'dev_{user}_babeltrace_{version}_glib-2.22.5': - user: jgalar - github_user: jgalar - github_name: babeltrace version: - master-staging - 'dev_{user}_babeltrace_{version}_{buildtype}': - user: jgalar - github_user: jgalar - github_name: babeltrace buildtype: build - version: - - master-staging - - stable-1.2-staging - - stable-1.3-staging - arch: !!python/tuple [x86-32, x86-64] + arch: !!python/tuple [amd64] build: !!python/tuple [std, oot, dist] conf: !!python/tuple [std, static, python-bindings] + - 'dev_{user}_babeltrace_{version}_{buildtype}': + buildtype: macosxbuild + version: # macOS support was introduced in 1.4 + - stable-1.5-staging + - stable-2.0-staging + - master-staging + arch: !!python/tuple [macosx] + build: !!python/tuple [std] + conf: !!python/tuple [std] + +- project: + name: gerrit-babeltrace + github_user: efficios + github_name: babeltrace + jobs: + - 'dev_gerrit_babeltrace_{buildtype}': + buildtype: build + arch: !!python/tuple [amd64, armhf, arm64, powerpc, ppc64el, i386] + build: !!python/tuple [std, oot, dist] + conf: !!python/tuple [std, python-bindings, production]