jjb: babeltrace: add shellcheck to lint jobs
[lttng-ci.git] / jobs / babeltrace.yaml
index 278b838e54521d667930373e736a142bd4873a72..66d5be70049efe6568d481af314709e1919ad124 100644 (file)
     project-type: freestyle
 
     wrappers:
-      - ansicolor
-      - timeout:
-          timeout: 90
+      - ansicolor: &babeltrace_wrapper_ansicolor_defaults
+          colormap: xterm
+      - timeout: &babeltrace_wrapper_timeout_defaults
+          timeout: 20
           fail: true
-          type: absolute
+          type: no-activity
+          write-description: "<h1 style=\"color:red\">This build failed due to timeout.</h1>"
       - timestamps
-      - workspace-cleanup:
-          clean-if:
-            - failure: false
+      - workspace-cleanup
 
     scm:
-      - git:
-          url: git://github.com/{github_user}/{github_name}.git
+      - git: &babeltrace_scm_git_default
+          url: https://github.com/{github_user}/{github_name}.git
           browser: githubweb
           browser-url: https://github.com/{github_user}/{github_name}
           branches:
           properties-content: |
             PROJECT_NAME=babeltrace
       - build-discarder:
-          num-to-keep: 2
+          num-to-keep: 10
+          artifact-num-to-keep: 2
       - github:
           url: https://github.com/{github_user}/{github_name}
 
 
 ## Anchors
-- babeltrace_build_axes_defaults: &babeltrace_build_axes_defaults
-    name: 'babeltrace_build_axes_defaults'
+- job-template: &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_platform
          type: slave
-         name: arch
-         values: '{obj:arch}'
-      - axis:
+         name: platform
+         values: '{obj:platforms}'
+      - 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}'
+
+- job-template: &babeltrace_matrix_axes_cc
+    name: 'babeltrace_matrix_axes_cc'
+
+    <<: *babeltrace_matrix_axes_defaults
 
-- 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:
-      - 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}'
-      - axis:
+      - axis: *babeltrace_matrix_axis_platform
+      - axis: *babeltrace_matrix_axis_conf
+      - axis: *babeltrace_matrix_axis_build
+      - axis: &babeltrace_matrix_axis_cc
          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
+         values: '{obj:ccs}'
 
-- babeltrace_build_builders_win: &babeltrace_build_builders_win
-    name: 'babeltrace_build_builders_win'
+- job-template: &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: '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-string1: {{ '${{platform}}' }}
           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/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'
+          condition-string1: {{ '${{platform}}' }}
+          condition-string2: 'msys2-ucrt64'
           steps:
             - inject:
-               properties-content: 'MSYSTEM=MINGW64'
+               properties-content: 'MSYSTEM=UCRT64'
             - shell:
                !include-raw-escape:
                  - scripts/common/msys2-shebang
-                 - scripts/common/cygwin-prefix
+                 - scripts/common/cygpath-prefix
+                 - scripts/common/print.sh
                  - scripts/babeltrace/build.sh
+      {% else %}
+      - shell:
+         !include-raw-escape:
+           - scripts/common/print.sh
+           - scripts/babeltrace/build.sh
+      {% endif %}
 
+# Use - in version number since yaml anchor do not support dot
+- job-template: &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
+            platform=deb12-amd64
+            conf=std
+            build=std
+      - shell: |
+          curl -OL 'https://ftp.gnome.org/pub/gnome/sources/glib/2.28/glib-2.28.6.tar.gz'
+          tar xf glib-2.28.6.tar.gz
+          cd glib-2.28.6
+          sed -i 's/sys\/types\.h/sys\/sysmacros\.h/' gio/gdbusmessage.c # Fix build failure with recent glibc
+          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
 
-- babeltrace_build_publishers_dev: &babeltrace_build_publishers_dev
-    name: 'babeltrace_build_publishers_dev'
-    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:
-            unstable:
-              total-all: 0
-              total-high: 0
-              total-normal: 0
-              total-low: 0
-      - archive:
-          artifacts: 'tap/**'
-          allow-empty: false
-      - 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'
+- job-template: &babeltrace_publishers_defaults
+    name: 'babeltrace_publishers_defaults'
     publishers:
-      - tap:
+      - tap: &babeltrace_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
-      - 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
-      - archive:
-          artifacts: 'build/**,tap/**'
+      - raw: &babeltrace_publisher_warnings-ng_defaults
+          xml: |
+            <io.jenkins.plugins.analysis.core.steps.IssuesRecorder plugin="warnings-ng">
+              <analysisTools>
+                <io.jenkins.plugins.analysis.warnings.Gcc4>
+                  <id/>
+                  <name/>
+                  <jenkins plugin="plugin-util-api"/>
+                  <pattern/>
+                  <reportEncoding/>
+                  <skipSymbolicLinks>false</skipSymbolicLinks>
+                </io.jenkins.plugins.analysis.warnings.Gcc4>
+              </analysisTools>
+              <sourceCodeEncoding/>
+              <sourceDirectory/>
+              <sourceDirectories/>
+              <ignoreQualityGate>false</ignoreQualityGate>
+              <ignoreFailedBuilds>true</ignoreFailedBuilds>
+              <failOnError>false</failOnError>
+              <healthy>0</healthy>
+              <unhealthy>0</unhealthy>
+              <minimumSeverity plugin="analysis-model-api">
+                <name>LOW</name>
+              </minimumSeverity>
+              <filters/>
+              <isEnabledForFailure>true</isEnabledForFailure>
+              <isAggregatingResults>true</isAggregatingResults>
+              <isBlameDisabled>false</isBlameDisabled>
+              <skipPublishingChecks>true</skipPublishingChecks>
+              <publishAllIssues>false</publishAllIssues>
+              <qualityGates>
+                <io.jenkins.plugins.analysis.core.util.QualityGate>
+                  <threshold>1</threshold>
+                  <type>TOTAL</type>
+                  <status>WARNING</status>
+                </io.jenkins.plugins.analysis.core.util.QualityGate>
+              </qualityGates>
+              <trendChartType>AGGREGATION_TOOLS</trendChartType>
+              <scm/>
+            </io.jenkins.plugins.analysis.core.steps.IssuesRecorder>
+      - archive: &babeltrace_publisher_archive_defaults
+          artifacts: 'build/**,tap/**,log/**'
+          follow-symlinks: true
           allow-empty: false
-      - email-ext:
+      - workspace-cleanup: &babeltrace_publisher_workspace-cleanup_defaults
+          clean-if:
+            - failure: false
+      - ircbot: &babeltrace_publisher_ircbot_defaults
+          strategy: statechange-only
+          message-type: summary
+          matrix-notifier: only-parent
+      - email-ext: &babeltrace_publisher_email-ext_defaults
           recipients: '{obj:email_to}'
           reply-to: ci-notification@lists.lttng.org
           always: false
           send-to:
             - recipients
 
-- babeltrace_build_publishers_gerrit: &babeltrace_build_publishers_gerrit
-    name: 'babeltrace_build_publishers_gerrit'
+- job-template: &babeltrace_publishers_review
+    name: 'babeltrace_publishers_review'
     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:
-              total-all: 0
-              total-high: 0
-              total-normal: 0
-              total-low: 0
-      - archive:
-          artifacts: 'build/**,tap/**'
-          allow-empty: false
-
-
-## Templates
+      - tap: *babeltrace_publisher_tap_defaults
+      # Fail job on any compiler warnings
+      - raw:
+          xml: |
+            <io.jenkins.plugins.analysis.core.steps.IssuesRecorder plugin="warnings-ng">
+              <analysisTools>
+                <io.jenkins.plugins.analysis.warnings.Gcc4>
+                  <id/>
+                  <name/>
+                  <jenkins plugin="plugin-util-api"/>
+                  <pattern/>
+                  <reportEncoding/>
+                  <skipSymbolicLinks>false</skipSymbolicLinks>
+                </io.jenkins.plugins.analysis.warnings.Gcc4>
+              </analysisTools>
+              <sourceCodeEncoding/>
+              <sourceDirectory/>
+              <sourceDirectories/>
+              <ignoreQualityGate>false</ignoreQualityGate>
+              <ignoreFailedBuilds>true</ignoreFailedBuilds>
+              <failOnError>false</failOnError>
+              <healthy>0</healthy>
+              <unhealthy>0</unhealthy>
+              <minimumSeverity plugin="analysis-model-api">
+                <name>LOW</name>
+              </minimumSeverity>
+              <filters/>
+              <isEnabledForFailure>true</isEnabledForFailure>
+              <isAggregatingResults>true</isAggregatingResults>
+              <isBlameDisabled>false</isBlameDisabled>
+              <skipPublishingChecks>true</skipPublishingChecks>
+              <publishAllIssues>false</publishAllIssues>
+              <qualityGates>
+                <io.jenkins.plugins.analysis.core.util.QualityGate>
+                  <threshold>1</threshold>
+                  <type>TOTAL</type>
+                  <status>{warnings_status}</status>
+                </io.jenkins.plugins.analysis.core.util.QualityGate>
+              </qualityGates>
+              <trendChartType>AGGREGATION_TOOLS</trendChartType>
+              <scm/>
+            </io.jenkins.plugins.analysis.core.steps.IssuesRecorder>
+      - archive: *babeltrace_publisher_archive_defaults
+      - workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults
+
+
+## Job Templates
 
 - job-template:
-    name: babeltrace_{version}_{buildtype}
+    name: '{job_prefix}babeltrace_{version}_{buildtype}'
     defaults: babeltrace
 
-    <<: *babeltrace_build_axes_defaults
-    <<: *babeltrace_build_builders_defaults
-    <<: *babeltrace_build_publishers_prod
+    <<: *babeltrace_matrix_axes_defaults
+    <<: *babeltrace_builders_defaults
+    <<: *babeltrace_publishers_defaults
 
 - 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
-
-    # Use jgit on windows to work around path too long error
-    scm:
-      - git:
-          url: git://github.com/{github_user}/{github_name}.git
-          browser: githubweb
-          browser-url: https://github.com/{github_user}/{github_name}
-          branches:
-            - origin/{version}
-          basedir: src/babeltrace
-          skip-tag: true
-          git-tool: jgit
-
-    <<: *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
+    <<: *babeltrace_matrix_axes_cc
+    <<: *babeltrace_builders_defaults
+    <<: *babeltrace_publishers_defaults
 
 - job-template:
-    name: dev_gerrit_babeltrace_{buildtype}
+    name: 'dev_review_babeltrace_{version}_{buildtype}'
     defaults: babeltrace
     concurrent: true
 
     scm:
-      - git:
+      - git: &babeltrace_scm_git_review
           url: https://review.lttng.org/babeltrace
           refspec: 'refs/changes/*:refs/changes/*'
           branches:
           skip-tag: true
 
     triggers:
-      - gerrit:
+      - gerrit: &babeltrace_trigger_gerrit_defaults
           trigger-on:
             - comment-added-event:
                 approval-category: 'CI-Build'
             - 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: |
-        {filter}
-    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
+                - branch-compare-type: 'PLAIN'
+                  branch-pattern: '{version}'
 
     properties:
       - inject:
       - throttle:
           option: 'category'
           categories:
-            - 'gerrit'
+            - 'gerrit-{buildtype}'
+
+    <<: *babeltrace_matrix_axes_defaults
+    <<: *babeltrace_builders_defaults
+    <<: *babeltrace_publishers_review
 
 - job-template:
-    name: dev_gerrit_babeltrace_winbuild
+    name: 'dev_review_babeltrace_{version}_lint'
     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
+      - git: *babeltrace_scm_git_review
 
     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
+      - gerrit: *babeltrace_trigger_gerrit_defaults
+
+    node: 'deb12-amd64'
+
+    builders:
+      - shell:
+         !include-raw-escape: scripts/babeltrace/lint.sh
 
     properties:
       - inject:
             PROJECT_NAME=babeltrace
       - build-discarder:
           days-to-keep: 1
-      - throttle:
-          option: 'category'
-          categories:
-            - 'gerrit'
 
-    <<: *babeltrace_build_axes_defaults
-    <<: *babeltrace_build_builders_win
-    <<: *babeltrace_build_publishers_gerrit
+    publishers:
+      - archive:
+          artifacts: 'black.out,flake8.out,isort.out,clang-format.out,shellcheck.out'
+          allow-empty: false
+      - workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults
 
 - job-template:
-    name: dev_gerrit_babeltrace_pylint
+    name: 'dev_review_babeltrace_{version}_smokebuild'
     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
+      - git: *babeltrace_scm_git_review
 
     triggers:
-      - gerrit:
+      - gerrit: &babeltrace_trigger_gerrit_smoke
           trigger-on:
             - comment-added-event:
-                approval-category: 'CI-Build'
+                approval-category: 'Smoke-Build-Lvl1'
                 approval-value: 1
           projects:
             - project-compare-type: 'PLAIN'
               project-pattern: 'babeltrace'
               branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**'
-          trigger-for-unreviewed-patches: true
+                - branch-compare-type: 'PLAIN'
+                  branch-pattern: '{version}'
+          skip-vote:
+            successful: true
+            failed: true
+            unstable: true
+            notbuilt: true
+            aborted: true
+
+    properties:
+      - inject:
+          properties-content: |
+            PROJECT_NAME=babeltrace
+            BABELTRACE_RUN_TESTS=no
+      - build-discarder:
+          days-to-keep: 1
+
+    <<: *babeltrace_matrix_axes_defaults
+    <<: *babeltrace_builders_defaults
 
-    node: 'amd64'
+    publishers:
+      - workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults
+
+- job-template:
+    name: 'dev_review_babeltrace_{version}_check-format'
+    defaults: babeltrace
+    concurrent: true
+
+    scm:
+      - git: *babeltrace_scm_git_review
+
+    triggers:
+      - gerrit: *babeltrace_trigger_gerrit_smoke
+
+    node: 'deb12-amd64'
 
     builders:
       - shell:
-         !include-raw-escape: scripts/babeltrace/pylint.sh
+         !include-raw-escape: scripts/common/check-format.sh
 
     properties:
       - inject:
       - build-discarder:
           days-to-keep: 1
 
+    publishers:
+      - archive:
+          artifacts: 'clang-format-fixes.diff'
+          allow-empty: true
+      - workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults
+
 - job-template:
-    name: babeltrace_{version}_cppcheck
+    name: babeltrace_{version}_release
     defaults: babeltrace
+    node: 'deb12-amd64'
 
     triggers:
       - pollscm:
           cron: "@daily"
 
+    scm:
+      - git:
+          <<: *babeltrace_scm_git_default
+          refspec: '+refs/tags/*:refs/remotes/origin/tags/*'
+          branches:
+            - '*/tags/{version}.*'
+
     builders:
-      - shell: |
-          rm -f cppcheck-result.xml
-          cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/babeltrace 2> cppcheck-result.xml
+      - 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: 'cppcheck-result.xml'
+          artifacts: 'out/**,tap/**'
           allow-empty: false
-      - cppcheck:
-          pattern: 'cppcheck-result.xml'
+          fingerprint: true
+      - ircbot: *babeltrace_publisher_ircbot_defaults
 
 - job-template:
     name: babeltrace_{version}_scan-build
     defaults: babeltrace
-    node: 'amd64'
+    node: 'deb12-amd64'
 
     triggers:
       - pollscm:
           !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/'
           files: 'index.html'
+      - ircbot: *babeltrace_publisher_ircbot_defaults
 
 - job-template:
     name: babeltrace_{version}_coverity
     defaults: babeltrace
-    node: 'amd64'
+    node: 'deb12-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
 
     publishers:
-      - workspace-cleanup
+      - workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults
       - archive:
           artifacts: 'analysis-results.tgz,cov-int/**'
           allow-empty: false
+      - ircbot: *babeltrace_publisher_ircbot_defaults
 
 - job-template:
-    name: babeltrace_{version}_pylint
+    name: babeltrace_{version}_lint
     defaults: babeltrace
-    node: 'amd64'
+    node: 'deb12-amd64'
 
     triggers:
       - pollscm:
 
     builders:
        - shell:
-          !include-raw-escape: scripts/babeltrace/pylint.sh
-
-    publishers:
-      - archive:
-          artifacts: 'black.out,flake8.out'
-      - 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: '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=amd64
-            conf=std
-            build=std
-      - shell: |
-          wget http://ftp.gnome.org/pub/gnome/sources/glib/2.22/glib-2.22.5.tar.gz
-          tar xvf glib-2.22.5.tar.gz
-          cd glib-2.22.5
-          mkdir BUILD_RESULT
-          ./configure --prefix=$WORKSPACE/glib-2.22.5/BUILD_RESULT
-          make -j `nproc`
-          make install
+          !include-raw-escape: scripts/babeltrace/lint.sh
 
-      - shell:
-         !include-raw-escape: scripts/babeltrace/build.sh
-
-- job-template:
-    name: babeltrace_{version}_glib-2.22.5
-    triggers:
-      - pollscm:
-          cron: "@daily"
-    <<: *babeltrace_version_glib-2-22-5_anchor
     publishers:
+      - workspace-cleanup: *babeltrace_publisher_workspace-cleanup_defaults
       - archive:
-          artifacts: 'tap/**'
+          artifacts: 'black.out,flake8.out,isort.out,clang-format.out,shellcheck.out'
           allow-empty: 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
+      - ircbot: *babeltrace_publisher_ircbot_defaults
+      - email-ext: *babeltrace_publisher_email-ext_defaults
 
 - job-template:
-    name: dev_{user}_babeltrace_{version}_glib-2.22.5
-    <<: *babeltrace_version_glib-2-22-5_anchor
+    name: '{job_prefix}babeltrace_{version}_glib-2.28.6'
+    defaults: babeltrace
+    node: 'deb12-amd64'
 
-    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
+    <<: *babeltrace_builders_glib-2-28-6
+    <<: *babeltrace_publishers_defaults
 
 
 ## Views
 
 ## Projects
 - project:
-    name: babeltrace1
+    name: babeltrace2
+    job_prefix: ''
     github_user: efficios
     github_name: babeltrace
     email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
     version:
-      - stable-1.5
+      - stable-2.0
+      - master
     jobs:
-      - 'babeltrace_{version}_{buildtype}':
-          buildtype: build
-          arch: !!python/tuple [amd64]
-          build: !!python/tuple [std, oot, dist, oot-dist]
-          conf: !!python/tuple [std, static, python-bindings]
-      - 'babeltrace_{version}_{buildtype}':
+      - '{job_prefix}babeltrace_{version}_{buildtype}':
+          buildtype: linuxbuild
+          platforms: !!python/tuple [deb12-amd64]
+          builds: !!python/tuple [std, oot, dist, oot-dist]
+          confs: !!python/tuple [std, static, prod, min, doc, asan]
+          filter: '(build=="std") || (conf=="std") || (conf=="doc")'
+          touchstone: '(build == "std") && (conf == "std")'
+      - '{job_prefix}babeltrace_{version}_{buildtype}':
           buildtype: portbuild
-          arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std, python-bindings]
-      - 'babeltrace_{version}_{buildtype}':
+          platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std, prod]
+          filter: ''
+          touchstone: '(build == "std") && (conf == "std") && (platform == "deb12-i386")'
+      - '{job_prefix}babeltrace_{version}_{buildtype}':
           buildtype: slesbuild
-          arch: !!python/tuple [sles12sp2]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std]
-          version: # // support 1.3 on SLES12
-            - stable-1.3
-            - stable-1.5
-      - 'babeltrace_{version}_{buildtype}':
+          platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std, prod]
+          filter: ''
+          touchstone: ''
+      - '{job_prefix}babeltrace_{version}_{buildtype}':
           buildtype: elbuild
-          arch: !!python/tuple [el8]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std]
-      - '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]
+          platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64, el7-arm64, el8-arm64, el9-arm64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std, prod]
+          filter: ''
+          touchstone: ''
+      - '{job_prefix}babeltrace_{version}_{buildtype}':
+          buildtype: yoctobuild
+          platforms: !!python/tuple [yocto23-powerpcspe, yocto23-powerpc, yocto31-ppc64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std]
+          filter: ''
+          touchstone: ''
+      - '{job_prefix}babeltrace_{version}_{buildtype}':
+          buildtype: macosbuild
+          platforms: !!python/tuple [macos-arm64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std, prod]
+          filter: ''
+          touchstone: ''
+      - '{job_prefix}babeltrace_{version}_{buildtype}':
+          buildtype: freebsdbuild
+          platforms: !!python/tuple [freebsd-amd64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std, prod]
+          filter: ''
+          touchstone: ''
+      - '{job_prefix}babeltrace_{version}_{buildtype}':
+          buildtype: winbuild
+          platforms: !!python/tuple [cygwin64, msys2-ucrt64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std]
+          filter: ''
+          touchstone: ''
       - 'babeltrace_{version}_{cctype}':
           cctype: clangbuild
-          arch: !!python/tuple [amd64]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std, static]
-          cc: !!python/tuple [clang-3.9, clang-4.0, clang-6.0, clang-7]
-      - 'babeltrace_{version}_winbuild':
-          arch: !!python/tuple [cygwin, cygwin64]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std]
-      - 'babeltrace_{version}_cppcheck'
+          platforms: !!python/tuple [deb12-amd64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std, static, prod]
+          ccs: !!python/tuple [clang-13, clang-14, clang-15]
+          filter: ''
+          touchstone: ''
+      - 'babeltrace_{version}_release':
+          version: v2.0
       - 'babeltrace_{version}_scan-build'
+      - 'babeltrace_{version}_lint'
+      - 'babeltrace_{version}_coverity':
+          version: master
+      - '{job_prefix}babeltrace_{version}_glib-2.28.6':
+          version: master
 
 - project:
-    name: babeltrace2
+    name: review-babeltrace
+    job_prefix: ''
     github_user: efficios
     github_name: babeltrace
-    email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
     version:
       - stable-2.0
+      - ctf2
       - master
     jobs:
-      - 'babeltrace_{version}_{buildtype}':
-          buildtype: build
-          arch: !!python/tuple [amd64]
-          build: !!python/tuple [std, oot, dist, oot-dist]
-          conf: !!python/tuple [std, static, prod, min]
-      - 'babeltrace_{version}_{buildtype}':
+    ## Master ##
+      - 'dev_review_babeltrace_{version}_{buildtype}':
+          version: master
+          buildtype: linuxbuild
+          platforms: !!python/tuple [deb12-amd64]
+          builds: !!python/tuple [std, oot, dist, oot-dist]
+          confs: !!python/tuple [std, static, prod, min]
+          filter: ''
+          touchstone: ''
+          warnings_status: FAILED
+      - 'dev_review_babeltrace_{version}_{buildtype}':
+          version: master
           buildtype: portbuild
-          arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std, prod]
-      - 'babeltrace_{version}_{buildtype}':
-          buildtype: slesbuild
-          arch: !!python/tuple [sles12sp2]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std, prod]
-      - 'babeltrace_{version}_{buildtype}':
-          buildtype: elbuild
-          arch: !!python/tuple [el8]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std, prod]
-      - 'babeltrace_{version}_{buildtype}':
-          buildtype: macosxbuild
-          arch: !!python/tuple [macosx]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std, prod]
-      - 'babeltrace_{version}_{cctype}':
-          cctype: clangbuild
-          arch: !!python/tuple [amd64]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std, static, prod]
-          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]
-      - 'babeltrace_{version}_cppcheck'
-      - 'babeltrace_{version}_scan-build'
-      - 'babeltrace_{version}_pylint'
-      - 'babeltrace_{version}_coverity':
+          platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std]
+          filter: ''
+          touchstone: ''
+          warnings_status: FAILED
+      - 'dev_review_babeltrace_{version}_{buildtype}':
           version: master
-      - 'babeltrace_{version}_glib-2.22.5':
+          buildtype: macosbuild
+          platforms: !!python/tuple [macos-arm64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std, prod]
+          filter: ''
+          touchstone: ''
+          warnings_status: FAILED
+      - 'dev_review_babeltrace_{version}_{buildtype}':
           version: master
+          buildtype: winbuild
+          platforms: !!python/tuple [cygwin64, msys2-ucrt64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std]
+          filter: ''
+          touchstone: ''
+          warnings_status: FAILED
+
+      ## ctf2 temp branch ##
+      - 'dev_review_babeltrace_{version}_{buildtype}':
+          version: ctf2
+          buildtype: linuxbuild
+          platforms: !!python/tuple [deb12-amd64]
+          builds: !!python/tuple [std, oot, dist, oot-dist]
+          confs: !!python/tuple [std, static, prod, min]
+          filter: ''
+          touchstone: ''
+          warnings_status: FAILED
+      - 'dev_review_babeltrace_{version}_{buildtype}':
+          version: ctf2
+          buildtype: portbuild
+          platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std]
+          filter: ''
+          touchstone: ''
+          warnings_status: FAILED
+      - 'dev_review_babeltrace_{version}_{buildtype}':
+          version: ctf2
+          buildtype: macosbuild
+          platforms: !!python/tuple [macos-arm64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std, prod]
+          filter: ''
+          touchstone: ''
+          warnings_status: FAILED
+      - 'dev_review_babeltrace_{version}_{buildtype}':
+          version: ctf2
+          buildtype: winbuild
+          platforms: !!python/tuple [cygwin64, msys2-ucrt64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std]
+          filter: ''
+          touchstone: ''
+          warnings_status: FAILED
+
+      ## Stable 2.0 ##
+      - 'dev_review_babeltrace_{version}_{buildtype}':
+          version: stable-2.0
+          buildtype: linuxbuild
+          platforms: !!python/tuple [deb12-amd64]
+          builds: !!python/tuple [std, oot, dist, oot-dist]
+          confs: !!python/tuple [std, static, prod, min]
+          filter: ''
+          touchstone: ''
+          warnings_status: WARNING
+      - 'dev_review_babeltrace_{version}_{buildtype}':
+          version: stable-2.0
+          buildtype: portbuild
+          platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std]
+          filter: ''
+          touchstone: ''
+          warnings_status: WARNING
+      - 'dev_review_babeltrace_{version}_{buildtype}':
+          version: stable-2.0
+          buildtype: macosbuild
+          platforms: !!python/tuple [macos-arm64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std, prod]
+          filter: ''
+          touchstone: ''
+          warnings_status: WARNING
+      - 'dev_review_babeltrace_{version}_{buildtype}':
+          version: stable-2.0
+          buildtype: winbuild
+          platforms: !!python/tuple [cygwin64, msys2-ucrt64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std]
+          filter: ''
+          touchstone: ''
+          warnings_status: WARNING
+
+      ## ALL ##
+      - 'dev_review_babeltrace_{version}_smokebuild':
+          platforms: !!python/tuple [deb12-amd64]
+          builds: !!python/tuple [oot-dist]
+          confs: !!python/tuple [std]
+          filter: ''
+          touchstone: ''
+      - 'dev_review_babeltrace_{version}_check-format'
+      - 'dev_review_babeltrace_{version}_lint'
+
 
 - project:
-    name: gerrit-babeltrace
+    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:
-      - 'dev_gerrit_babeltrace_{buildtype}':
-          buildtype: build
-          arch: !!python/tuple [amd64, armhf, arm64, powerpc, ppc64el, i386]
-          build: !!python/tuple [std, oot, dist, oot-dist]
-          conf: !!python/tuple [std, static, prod, min]
-          filter: '(build=="std" && conf=="std") || (arch=="amd64")'
-      - 'dev_gerrit_babeltrace_{buildtype}':
-          buildtype: macosxbuild
-          arch: !!python/tuple [macosx]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std, prod]
+      - '{job_prefix}babeltrace_{version}_{buildtype}':
+          buildtype: linuxbuild
+          platforms: !!python/tuple [deb12-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
+          platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std, python-bindings]
+          filter: ''
+          touchstone: '(build == "std") && (conf == "std") && (platform == "deb12-i386")'
+      - '{job_prefix}babeltrace_{version}_{buildtype}':
+          buildtype: slesbuild
+          platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std]
+          filter: ''
+          touchstone: ''
+      - '{job_prefix}babeltrace_{version}_{buildtype}':
+          buildtype: elbuild
+          platforms: !!python/tuple [el7-amd64, el8-amd64, el9-amd64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std]
           filter: ''
-      - 'dev_gerrit_babeltrace_winbuild':
-          arch: !!python/tuple [cygwin64, msys2-mingw64]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std]
-      - 'dev_gerrit_babeltrace_pylint'
+          touchstone: ''
+      - 'babeltrace_{version}_release':
+          version: v1.5
 
 
 - project:
     name: babeltrace-jgalar-staging
-    user: jgalar
+    job_prefix: 'dev_jgalar_'
     github_user: jgalar
     github_name: babeltrace
     email_to: "jgalar@efficios.com"
     version:
-      - stable-1.3-staging
       - stable-1.5-staging
     jobs:
-      - 'dev_{user}_babeltrace_{version}_{buildtype}':
-          buildtype: build
-          arch: !!python/tuple [amd64]
-          build: !!python/tuple [std, oot, dist, 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
-          arch: !!python/tuple [macosx]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std]
+      - '{job_prefix}babeltrace_{version}_{buildtype}':
+          buildtype: linuxbuild
+          platforms: !!python/tuple [deb12-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
+          platforms: !!python/tuple [macos-arm64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std]
+          filter: ''
+          touchstone: ''
 
 
 - project:
     name: babeltrace2-jgalar-staging
-    user: jgalar
+    job_prefix: 'dev_jgalar_'
     github_user: jgalar
     github_name: babeltrace
     email_to: "jgalar@efficios.com"
       - stable-2.0-staging
       - master-staging
     jobs:
-      - 'dev_{user}_babeltrace_{version}_glib-2.22.5':
+      - '{job_prefix}babeltrace_{version}_glib-2.28.6':
           version:
             - master-staging
-      - 'dev_{user}_babeltrace_{version}_{buildtype}':
-          buildtype: build
-          arch: !!python/tuple [amd64]
-          build: !!python/tuple [std, oot, dist, oot-dist]
-          conf: !!python/tuple [std, static, prod, min]
-      - 'dev_{user}_babeltrace_{version}_{buildtype}':
-          buildtype: macosxbuild
-          arch: !!python/tuple [macosx]
-          build: !!python/tuple [std]
-          conf: !!python/tuple [std, prod]
+      - '{job_prefix}babeltrace_{version}_{buildtype}':
+          buildtype: linuxbuild
+          platforms: !!python/tuple [deb12-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
+          platforms: !!python/tuple [macos-arm64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std, prod]
+          filter: ''
+          touchstone: ''
+
 
 - project:
     name: babeltrace-views
This page took 0.035171 seconds and 4 git commands to generate.