X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=jobs%2Fbabeltrace.yaml;h=be15883fe44a22185877ed47cb505f5e88ca545a;hb=adb702d734f543aa0fc6331ddcef48bf08b35ce2;hp=1f56f9a56824301719c946c5b43eafacfb70bfc8;hpb=87e41bca43a0628c7088f2647ebebd41f0ef98cd;p=lttng-ci.git diff --git a/jobs/babeltrace.yaml b/jobs/babeltrace.yaml index 1f56f9a..be15883 100644 --- a/jobs/babeltrace.yaml +++ b/jobs/babeltrace.yaml @@ -14,83 +14,427 @@ project-type: freestyle - logrotate: - daysToKeep: -1 - numToKeep: 2 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - wrappers: - - workspace-cleanup - - timestamps - - ansicolor: + - ansicolor: &babeltrace_wrapper_ansicolor_defaults colormap: xterm + - timeout: &babeltrace_wrapper_timeout_defaults + timeout: 20 + fail: true + type: no-activity + write-description: "

This build failed due to timeout.

" + - timestamps + - workspace-cleanup scm: - git: - url: git://github.com/efficios/babeltrace.git + url: https://github.com/{github_user}/{github_name}.git browser: githubweb - browser-url: https://github.com/efficios/babeltrace + browser-url: https://github.com/{github_user}/{github_name} branches: - origin/{version} + basedir: src/babeltrace + skip-tag: true triggers: - pollscm: cron: "@hourly" properties: + - inject: + properties-content: | + PROJECT_NAME=babeltrace + - build-discarder: + num-to-keep: 2 - github: - url: https://github.com/efficios/babeltrace - + url: https://github.com/{github_user}/{github_name} -## Templates -- job-template: - name: babeltrace_{version}_{buildtype} - defaults: babeltrace +## Anchors +- babeltrace_matrix_axes_defaults: &babeltrace_matrix_axes_defaults + name: 'babeltrace_matrix_axes_defaults' project-type: matrix node: 'master' # Applies only to matrix flyweight task + execution-strategy: + combination-filter: '{filter}' + touchstone: + expr: '{touchstone}' + result: unstable axes: - - axis: + - axis: &babeltrace_matrix_axis_arch type: slave name: arch - values: '{obj:arch}' - - axis: + values: '{obj:archs}' + - axis: &babeltrace_matrix_axis_conf type: user-defined name: conf - values: '{obj:conf}' - - axis: + values: '{obj:confs}' + - axis: &babeltrace_matrix_axis_build type: user-defined name: build - values: '{obj:build}' + values: '{obj:builds}' +- babeltrace_matrix_axes_cc: &babeltrace_matrix_axes_cc + name: 'babeltrace_matrix_axes_cc' + + <<: *babeltrace_matrix_axes_defaults + + axes: + - axis: *babeltrace_matrix_axis_arch + - axis: *babeltrace_matrix_axis_conf + - axis: *babeltrace_matrix_axis_build + - axis: &babeltrace_matrix_axis_cc + type: user-defined + name: cc + values: '{obj:ccs}' + +- babeltrace_builders_defaults: &babeltrace_builders_defaults + name: 'babeltrace_builders_defaults' builders: + !j2-yaml: | + {% if buildtype is defined and buildtype == 'winbuild' %} + - 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/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/cygpath-prefix + - scripts/common/print.sh + - 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/cygpath-prefix + - scripts/common/print.sh + - scripts/babeltrace/build.sh + {% else %} - shell: - !include-raw-escape scripts/babeltrace/build.sh + !include-raw-escape: + - scripts/common/print.sh + - scripts/babeltrace/build.sh + {% endif %} + +# Use - in version number since yaml anchor do not support dot +- babeltrace_builders_glib-2-28-6: &babeltrace_builders_glib-2-28-6 + name: 'babeltrace_builders_glib-2-28-6' + builders: + - inject: + properties-content: | + LD_LIBRARY_PATH=$WORKSPACE/glib-2.28.6/BUILD_RESULT/lib + PKG_CONFIG_PATH=$WORKSPACE/glib-2.28.6/BUILD_RESULT/lib/pkgconfig + arch=amd64 + conf=std + build=std + - shell: | + wget http://ftp.gnome.org/pub/gnome/sources/glib/2.28/glib-2.28.6.tar.gz + tar xvf glib-2.28.6.tar.gz + cd glib-2.28.6 + mkdir BUILD_RESULT + ./configure --prefix=$WORKSPACE/glib-2.28.6/BUILD_RESULT + make -j `nproc` >/dev/null 2>&1 # Hide warnings + make install + - shell: + !include-raw-escape: + - scripts/common/print.sh + - scripts/babeltrace/build.sh - # TODO: Scan for open tasks +- babeltrace_publishers_defaults: &babeltrace_publishers_defaults + name: 'babeltrace_publishers_defaults' publishers: - - tap: - results: 'tap/**/*.tap' + - tap: &babeltrace_publisher_tap_defaults + 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: - total-all: 0 - total-high: 0 - total-normal: 0 - total-low: 0 + - raw: &babeltrace_publisher_warnings-ng_defaults + xml: | + + + + + + + + + false + + + + + + + + false + + + + + + false + true + false + 0 + 0 + + LOW + + + true + true + false + true + false + + + 1 + TOTAL + WARNING + + + AGGREGATION_TOOLS + + + - archive: &babeltrace_publisher_archive_defaults + artifacts: 'build/**,tap/**' + allow-empty: false + - workspace-cleanup: &babeltrace_publisher_workspace-cleanup_defaults + clean-if: + - failure: false + - email-ext: &babeltrace_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 + +- babeltrace_publishers_gerrit: &babeltrace_publishers_gerrit + name: 'babeltrace_publishers_gerrit' + publishers: + - tap: *babeltrace_publisher_tap_defaults + # Fail job on any compiler warnings + - raw: + xml: | + + + + + + + + + false + + + + + + + + false + + + + + + false + true + false + 0 + 0 + + LOW + + + true + true + false + true + false + + + 1 + TOTAL + FAILED + + + AGGREGATION_TOOLS + + + - archive: *babeltrace_publisher_archive_defaults + - workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults + + +## Job Templates + +- job-template: + name: '{job_prefix}babeltrace_{version}_{buildtype}' + defaults: babeltrace + + <<: *babeltrace_matrix_axes_defaults + <<: *babeltrace_builders_defaults + <<: *babeltrace_publishers_defaults + +- job-template: + name: babeltrace_{version}_{cctype} + defaults: babeltrace + + <<: *babeltrace_matrix_axes_cc + <<: *babeltrace_builders_defaults + <<: *babeltrace_publishers_defaults + +- 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: '**' + + properties: + - inject: + properties-content: | + PROJECT_NAME=babeltrace + - build-discarder: + days-to-keep: 1 + - throttle: + option: 'category' + categories: + - 'gerrit-{buildtype}' + + <<: *babeltrace_matrix_axes_defaults + <<: *babeltrace_builders_defaults + <<: *babeltrace_publishers_gerrit + +- job-template: + name: babeltrace_{version}_release + defaults: babeltrace + node: 'amd64' + + triggers: + - pollscm: + cron: "@daily" + + scm: + - git: + url: https://github.com/{github_user}/{github_name}.git + browser: githubweb + browser-url: https://github.com/{github_user}/{github_name} + refspec: '+refs/tags/*:refs/remotes/origin/tags/*' + branches: + - '*/tags/{version}.*' + basedir: src/babeltrace + + builders: + - shell: + !include-raw-escape: scripts/babeltrace/release.sh + + publishers: + - tap: *babeltrace_publisher_tap_defaults + - raw: *babeltrace_publisher_warnings-ng_defaults + - workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults - archive: - artifacts: 'build/**' + artifacts: 'out/**,tap/**' allow-empty: false - - ircbot: - strategy: new-failure-and-fixed - matrix-notifier: only-parent - channels: - - name: '#lttng' + +- job-template: + name: dev_gerrit_babeltrace_pylint + 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: '**' + + node: 'amd64' + + builders: + - shell: + !include-raw-escape: scripts/babeltrace/pylint.sh + + properties: + - inject: + properties-content: | + PROJECT_NAME=babeltrace + - build-discarder: + days-to-keep: 1 - job-template: name: babeltrace_{version}_cppcheck @@ -102,24 +446,21 @@ 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: + - workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults - 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: @@ -127,9 +468,10 @@ builders: - shell: - !include-raw-escape scripts/babeltrace/scan-build.sh + !include-raw-escape: scripts/common/scan-build.sh publishers: + - workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults - html-publisher: name: 'HTML Report' dir: 'scan-build-archive/' @@ -138,97 +480,270 @@ - job-template: name: babeltrace_{version}_coverity defaults: babeltrace - node: 'x86-64' + node: 'amd64' triggers: - pollscm: cron: "@daily" wrappers: - - workspace-cleanup + - ansicolor: *babeltrace_wrapper_ansicolor_defaults + - timeout: *babeltrace_wrapper_timeout_defaults - timestamps - - ansicolor: - colormap: xterm + - workspace-cleanup - credentials-binding: - username-password-separated: credential-id: babeltrace_coverity_token username: COVERITY_SCAN_PROJECT_NAME password: COVERITY_SCAN_TOKEN + builders: - shell: - !include-raw-escape scripts/common/coverity.sh + !include-raw-escape: scripts/common/coverity.sh publishers: - - workspace-cleanup + - workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults + - archive: + artifacts: 'analysis-results.tgz,cov-int/**' + allow-empty: false - job-template: name: babeltrace_{version}_pylint defaults: babeltrace - node: 'x86-64' - - scm: [] + node: 'amd64' triggers: - pollscm: cron: "@daily" builders: - - copyartifact: - project: babeltrace_{version}_build/arch=x86-64,build=std,conf=python-bindings - which-build: last-successful - stable: true - filter: 'build/**' - target: 'deps/babeltrace' - shell: - !include-raw-escape scripts/babeltrace/pylint.sh + !include-raw-escape: scripts/babeltrace/pylint.sh publishers: + - workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults - archive: - artifacts: 'pep8.out,pylint.out' - - violations: - pep8: - pattern: pep8.out - min: 10 - max: 999 - unstable: 999 - pylint: - pattern: pylint.out - min: 10 - max: 999 - unstable: 999 - - email: - recipients: 'ci-notification@lists.lttng.org' - notify-every-unstable-build: true - send-to-individuals: false - - -## Project + artifacts: 'black.out,flake8.out' + allow-empty: false + - email-ext: *babeltrace_publisher_email-ext_defaults + +- job-template: + name: '{job_prefix}babeltrace_{version}_glib-2.28.6' + defaults: babeltrace + node: 'amd64' + + <<: *babeltrace_builders_glib-2-28-6 + <<: *babeltrace_publishers_defaults + + +## Views +- view-template: + name: 'Babeltrace' + view-type: list + regex: 'babeltrace[-_].*' + + +## Projects - project: - name: babeltrace + name: babeltrace2 + job_prefix: '' + 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-2.0 + - master jobs: - - 'babeltrace_{version}_{buildtype}': + - '{job_prefix}babeltrace_{version}_{buildtype}': buildtype: build - arch: !!python/tuple [x86-32, x86-64] - build: !!python/tuple [std, oot, dist] - conf: !!python/tuple [std, static, python-bindings] - - 'babeltrace_{version}_{buildtype}': + archs: !!python/tuple [amd64] + builds: !!python/tuple [std, oot, dist, oot-dist] + confs: !!python/tuple [std, static, prod, min, doc] + filter: '' + touchstone: '(build == "std") && (conf == "std")' + - '{job_prefix}babeltrace_{version}_{buildtype}': buildtype: portbuild - arch: !!python/tuple [armhf, powerpc, ppc64el] - build: !!python/tuple [std] - conf: !!python/tuple [std, static, python-bindings] - - 'babeltrace_{version}_{buildtype}': - buildtype: solarisbuild - arch: !!python/tuple [solaris10, solaris11] - build: !!python/tuple [std] - conf: !!python/tuple [std, static] - version: - - stable-1.3 - - master + archs: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386] + builds: !!python/tuple [std] + confs: !!python/tuple [std, prod] + filter: '' + touchstone: '(build == "std") && (conf == "std") && (arch == "i386")' + - '{job_prefix}babeltrace_{version}_{buildtype}': + buildtype: slesbuild + archs: !!python/tuple [sles12sp5] + builds: !!python/tuple [std] + confs: !!python/tuple [std, prod] + filter: '' + touchstone: '' + - '{job_prefix}babeltrace_{version}_{buildtype}': + buildtype: elbuild + archs: !!python/tuple [el7, el8, el9] + builds: !!python/tuple [std] + confs: !!python/tuple [std, prod] + filter: '' + touchstone: '' + - '{job_prefix}babeltrace_{version}_{buildtype}': + buildtype: macosbuild + archs: !!python/tuple [macos-amd64, macos-arm64] + builds: !!python/tuple [std] + confs: !!python/tuple [std, prod] + filter: '' + touchstone: '' + - '{job_prefix}babeltrace_{version}_{buildtype}': + buildtype: freebsdbuild + archs: !!python/tuple [freebsd] + builds: !!python/tuple [std] + confs: !!python/tuple [std, prod] + filter: '' + touchstone: '' + - '{job_prefix}babeltrace_{version}_{buildtype}': + buildtype: winbuild + archs: !!python/tuple [cygwin64, msys2-mingw32, msys2-mingw64] + builds: !!python/tuple [std] + confs: !!python/tuple [std] + filter: '' + touchstone: '' + - 'babeltrace_{version}_{cctype}': + cctype: clangbuild + archs: !!python/tuple [amd64] + builds: !!python/tuple [std] + confs: !!python/tuple [std, static, prod] + ccs: !!python/tuple [clang-3.9, clang-4.0, clang-6.0, clang-7] + filter: '' + touchstone: '' + - 'babeltrace_{version}_release': + version: v2.0 - 'babeltrace_{version}_cppcheck' - 'babeltrace_{version}_scan-build' - 'babeltrace_{version}_pylint' - 'babeltrace_{version}_coverity': version: master + - '{job_prefix}babeltrace_{version}_glib-2.28.6': + version: master + +- project: + name: gerrit-babeltrace + job_prefix: '' + github_user: efficios + github_name: babeltrace + jobs: + - 'dev_gerrit_babeltrace_{buildtype}': + buildtype: build + archs: !!python/tuple [amd64, armhf, arm64, powerpc, ppc64el, i386] + builds: !!python/tuple [std, oot, dist, oot-dist] + confs: !!python/tuple [std, static, prod, min] + filter: '(build=="std" && conf=="std") || (arch=="amd64")' + touchstone: '' + - 'dev_gerrit_babeltrace_{buildtype}': + buildtype: macosbuild + archs: !!python/tuple [macos-amd64, macos-arm64] + builds: !!python/tuple [std] + confs: !!python/tuple [std, prod] + filter: '' + touchstone: '' + - 'dev_gerrit_babeltrace_{buildtype}': + buildtype: winbuild + archs: !!python/tuple [cygwin64, msys2-mingw64] + builds: !!python/tuple [std] + confs: !!python/tuple [std] + filter: '' + touchstone: '' + - 'dev_gerrit_babeltrace_pylint' + + +- project: + name: dev_upstream_babeltrace + job_prefix: dev_upstream_ + github_user: efficios + github_name: babeltrace + email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com' + version: + - stable-1.5 + jobs: + - '{job_prefix}babeltrace_{version}_{buildtype}': + buildtype: build + archs: !!python/tuple [amd64] + builds: !!python/tuple [std, oot, dist, oot-dist] + confs: !!python/tuple [std, static, python-bindings] + filter: '' + touchstone: '(build == "std") && (conf == "std")' + - '{job_prefix}babeltrace_{version}_{buildtype}': + buildtype: portbuild + archs: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386] + builds: !!python/tuple [std] + confs: !!python/tuple [std, python-bindings] + filter: '' + touchstone: '(build == "std") && (conf == "std") && (arch == "i386")' + - '{job_prefix}babeltrace_{version}_{buildtype}': + buildtype: slesbuild + archs: !!python/tuple [sles12sp5] + builds: !!python/tuple [std] + confs: !!python/tuple [std] + filter: '' + touchstone: '' + - '{job_prefix}babeltrace_{version}_{buildtype}': + buildtype: elbuild + archs: !!python/tuple [el7, el8, el9] + builds: !!python/tuple [std] + confs: !!python/tuple [std] + filter: '' + touchstone: '' + +- project: + name: babeltrace-jgalar-staging + job_prefix: 'dev_jgalar_' + github_user: jgalar + github_name: babeltrace + email_to: "jgalar@efficios.com" + version: + - stable-1.5-staging + jobs: + - '{job_prefix}babeltrace_{version}_{buildtype}': + buildtype: build + archs: !!python/tuple [amd64] + builds: !!python/tuple [std, oot, dist, oot-dist] + confs: !!python/tuple [std, static, python-bindings] + filter: '' + touchstone: '' + - '{job_prefix}babeltrace_{version}_{buildtype}': + buildtype: macosbuild + archs: !!python/tuple [macos-amd64, macos-arm64] + builds: !!python/tuple [std] + confs: !!python/tuple [std] + filter: '' + touchstone: '' + + +- project: + name: babeltrace2-jgalar-staging + job_prefix: 'dev_jgalar_' + github_user: jgalar + github_name: babeltrace + email_to: "jgalar@efficios.com" + version: + - stable-2.0-staging + - master-staging + jobs: + - '{job_prefix}babeltrace_{version}_glib-2.28.6': + version: + - master-staging + - '{job_prefix}babeltrace_{version}_{buildtype}': + buildtype: build + archs: !!python/tuple [amd64] + builds: !!python/tuple [std, oot, dist, oot-dist] + confs: !!python/tuple [std, static, prod, min] + filter: '' + touchstone: '' + - '{job_prefix}babeltrace_{version}_{buildtype}': + buildtype: macosbuild + archs: !!python/tuple [macos-amd64, macos-arm64] + builds: !!python/tuple [std] + confs: !!python/tuple [std, prod] + filter: '' + touchstone: '' + +- project: + name: babeltrace-views + views: + - Babeltrace