jjb: lttng-tools: rework pre/post build scripts
[lttng-ci.git] / jobs / lttng-tools.yaml
index 53d7fe785e23d7ab855334ed679618f9c8b17843..c90104ee4697554973d1663efb2eb83402885a68 100644 (file)
@@ -17,7 +17,7 @@
           colormap: xterm
       - timeout: &lttng-tools_wrapper_timeout_defaults
           timeout: 30
-          fail: true
+          abort: true
           type: no-activity
           write-description: "<h1 style=\"color:red\">This build failed due to timeout.</h1>"
       - timestamps
                 git clone -b "{version}" https://github.com/{github_user}/lttng-modules.git src/lttng-modules
 
       - shell:
-         !include-raw-escape: scripts/lttng-tools/clean_processes_coredump.sh
+         !include-raw-escape: scripts/lttng-tools/prebuild_clean_processes_coredumps.sh
 
       - shell:
          !include-raw-escape:
                 project: '{bt_job_prefix}babeltrace_${{babeltrace_version}}_{buildtype}/platform=${{platform}},conf=std,build=std'
 
       - shell:
-         !include-raw-escape: scripts/lttng-tools/clean_processes_coredump.sh
+         !include-raw-escape: scripts/lttng-tools/prebuild_clean_processes_coredumps.sh
 
       # Build liburcu if we depend on a specific liburcu change
       - conditional-step:
 - lttng-tools_publishers_defaults: &lttng-tools_publishers_defaults
     name: 'lttng-tools_publishers_defaults'
     publishers:
+      # On build abort (timeout), wait 10 seconds before running the other post
+      # build scripts, this will allow the processes to terminate and make the
+      # build log more legible.
+      - postbuildscript: &lttng-tools_publisher_postbuildscript_wait_10_seconds_on_abort
+          mark-unstable-if-failed: false
+          builders:
+            - role: SLAVE
+              build-on:
+                  - ABORTED
+              build-steps:
+                  - shell:
+                      !include-raw-escape: scripts/lttng-tools/postbuild_wait_10_seconds.sh
+
       # On build failure, try to get partial tap results if any exists
-      - postbuildscript:
+      - postbuildscript: &lttng-tools_publisher_postbuildscript_collect_tap_on_failure
           mark-unstable-if-failed: false
           builders:
             - role: SLAVE
               build-on:
+                  - ABORTED
                   - FAILURE
               build-steps:
                   - shell:
-                      !include-raw-escape: scripts/lttng-tools/tap_failure.sh
+                      !include-raw-escape: scripts/lttng-tools/postbuild_collect_tap_results.sh
 
-      - postbuildscript:
+      # If there are leftover lttng processes or core files present, kill the
+      # processes, collect the core files, delete them and mark the build
+      # unstable.
+      - postbuildscript: &lttng-tools_publisher_postbuildscript_clean_processes_coredumps
           mark-unstable-if-failed: true
           builders:
             - role: SLAVE
                   - FAILURE
               build-steps:
                   - shell:
-                      !include-raw-escape: scripts/lttng-tools/hang_processes.sh
+                      !include-raw-escape: scripts/lttng-tools/postbuild_clean_processes_coredumps.sh
 
       - tap: &lttng-tools_publisher_tap_defaults
           results: 'tap/**/*.*'
           clean-if:
             - failure: false
 
+      - ircbot: &lttng-tools_publisher_ircbot_defaults
+          strategy: statechange-only
+          message-type: summary-scm
+          matrix-notifier: only-configurations
+
       - email-ext: &lttng-tools_publisher_email-ext_defaults
           recipients: '{obj:email_to}'
           reply-to: ci-notification@lists.lttng.org
       - raw: *lttng-tools_publisher_warnings-ng_defaults
       - workspace-cleanup: *lttng-tools_publisher_workspace-cleanup_defaults
       - archive: *lttng-tools_publisher_archive_defaults
+      - ircbot: *lttng-tools_publisher_ircbot_defaults
       - email-ext: *lttng-tools_publisher_email-ext_defaults
 
 ## Templates
     <<: *lttng-tools_builders_gerrit
 
     publishers:
-      - postbuildscript:
-          mark-unstable-if-failed: false
-          builders:
-            - role: SLAVE
-              build-on:
-                  - FAILURE
-              build-steps:
-                  - shell:
-                      !include-raw-escape: scripts/lttng-tools/tap_failure.sh
+      # On build abort (timeout), wait 10 seconds before running the other post
+      # build scripts, this will allow the processes to terminate and make the
+      # build log more legible.
+      - postbuildscript: *lttng-tools_publisher_postbuildscript_wait_10_seconds_on_abort
 
-      - postbuildscript:
-          mark-unstable-if-failed: true
-          builders:
-            - role: SLAVE
-              build-on:
-                  - SUCCESS
-                  - UNSTABLE
-                  - NOT_BUILT
-                  - ABORTED
-                  - FAILURE
-              build-steps:
-                  - shell:
-                      !include-raw-escape: scripts/lttng-tools/hang_processes.sh
+      # On build failure, try to get partial tap results if any exists
+      - postbuildscript: *lttng-tools_publisher_postbuildscript_collect_tap_on_failure
+
+      # If there are leftover lttng processes or core files present, kill the
+      # processes, collect the core files, delete them and mark the build
+      # unstable.
+      - postbuildscript: *lttng-tools_publisher_postbuildscript_clean_processes_coredumps
 
       - tap: *lttng-tools_publisher_tap_defaults
       - raw: *lttng-tools_publisher_warnings-ng_defaults
           <<: *lttng-tools_steps_copyartifact_defaults
           project: 'lttng-ust_{ustversion}_build/liburcu_version={urcuversion},platform=bionic-amd64,conf=agents,build=std'
       - shell:
-          !include-raw-escape: scripts/lttng-tools/clean_processes_coredump.sh
+          !include-raw-escape: scripts/lttng-tools/prebuild_clean_processes_coredumps.sh
       - shell:
           !include-raw-escape: scripts/lttng-tools/release.sh
 
     publishers:
-      - postbuildscript:
-          mark-unstable-if-failed: false
-          builders:
-            - role: SLAVE
-              build-on:
-                  - ABORTED
-              build-steps:
-                  - shell:
-                      !include-raw-escape: scripts/lttng-tools/tap_failure.sh
+      # On build abort (timeout), wait 10 seconds before running the other post
+      # build scripts, this will allow the processes to terminate and make the
+      # build log more legible.
+      - postbuildscript: *lttng-tools_publisher_postbuildscript_wait_10_seconds_on_abort
 
-      - postbuildscript:
-          mark-unstable-if-failed: true
-          builders:
-            - role: SLAVE
-              build-on:
-                  - SUCCESS
-                  - UNSTABLE
-                  - NOT_BUILT
-                  - ABORTED
-                  - FAILURE
-              build-steps:
-                  - shell:
-                      !include-raw-escape: scripts/lttng-tools/hang_processes.sh
+      # On build failure, try to get partial tap results if any exists
+      - postbuildscript: *lttng-tools_publisher_postbuildscript_collect_tap_on_failure
+
+      # If there are leftover lttng processes or core files present, kill the
+      # processes, collect the core files, delete them and mark the build
+      # unstable.
+      - postbuildscript: *lttng-tools_publisher_postbuildscript_clean_processes_coredumps
 
       - tap: *lttng-tools_publisher_tap_defaults
       - raw: *lttng-tools_publisher_warnings-ng_defaults
           allow-empty: false
           fingerprint: true
       - workspace-cleanup: *lttng-tools_publisher_workspace-cleanup_defaults
+      - ircbot: *lttng-tools_publisher_ircbot_defaults
 
 - job-template:
     name: lttng-tools_{version}_scan-build
           name: 'HTML Report'
           dir: 'scan-build-archive/'
           files: 'index.html'
+      - ircbot: *lttng-tools_publisher_ircbot_defaults
 
 - job-template:
     name: lttng-tools_{version}_coverity
           artifacts: 'analysis-results.tgz,cov-int/**'
           allow-empty: false
       - workspace-cleanup: *lttng-tools_publisher_workspace-cleanup_defaults
+      - ircbot: *lttng-tools_publisher_ircbot_defaults
 
 
 ## Views
           buildtype: portbuild
           version: master
           ustversion: master
-          platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386]
+          platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
           builds: !!python/tuple [std]
           confs: !!python/tuple [std, no-ust, agents]
           urcuversions: !!python/tuple [master]
           buildtype: slesbuild
           version: master
           ustversion: master
-          platforms: !!python/tuple [sles12sp5-amd64]
+          platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
           builds: !!python/tuple [std]
           confs: !!python/tuple [agents]
           urcuversions: !!python/tuple [master]
           buildtype: portbuild
           version: stable-2.13
           ustversion: stable-2.13
-          platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386]
+          platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
           builds: !!python/tuple [std]
           confs: !!python/tuple [std, no-ust, agents]
           urcuversions: !!python/tuple [stable-0.13]
           buildtype: slesbuild
           version: stable-2.13
           ustversion: stable-2.13
-          platforms: !!python/tuple [sles12sp5-amd64]
+          platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
           builds: !!python/tuple [std]
           confs: !!python/tuple [agents]
           urcuversions: !!python/tuple [stable-0.13]
           testtypes: !!python/tuple [base]
           filter: ''
           touchstone: ''
+      - '{job_prefix}lttng-tools_{version}_{buildtype}':
+          buildtype: yoctobuild
+          version: stable-2.13
+          ustversion: stable-2.13
+          platforms: !!python/tuple [yocto23-powerpcspe, yocto23-powerpc, yocto31-ppc64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std]
+          urcuversions: !!python/tuple [stable-0.13]
+          babelversions: !!python/tuple [stable-2.0]
+          testtypes: !!python/tuple [base]
+          filter: ''
+          touchstone: ''
       - '{job_prefix}lttng-tools_{version}_{buildtype}':
           buildtype: macosbuild
           version: stable-2.13
           urcuversions: !!python/tuple [stable-0.13]
           babelversions: !!python/tuple [stable-2.0]
           testtypes: !!python/tuple [base]
-          filter: ''
+          filter: '(node=="amd64-rootnode" && platform=="bionic-amd64")'
           touchstone: ''
       - 'lttng-tools_{version}_release':
           version: v2.13
           buildtype: portbuild
           version: stable-2.12
           ustversion: stable-2.12
-          platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386]
+          platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
           builds: !!python/tuple [std]
           confs: !!python/tuple [std, no-ust, agents]
           urcuversions: !!python/tuple [stable-0.13]
           buildtype: slesbuild
           version: stable-2.12
           ustversion: stable-2.12
-          platforms: !!python/tuple [sles12sp5-amd64]
+          platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
           builds: !!python/tuple [std]
           confs: !!python/tuple [agents]
           urcuversions: !!python/tuple [stable-0.13]
           testtypes: !!python/tuple [base]
           filter: ''
           touchstone: ''
+      - '{job_prefix}lttng-tools_{version}_{buildtype}':
+          buildtype: yoctobuild
+          version: stable-2.12
+          ustversion: stable-2.12
+          platforms: !!python/tuple [yocto23-powerpcspe, yocto23-powerpc, yocto31-ppc64]
+          builds: !!python/tuple [std]
+          confs: !!python/tuple [std]
+          urcuversions: !!python/tuple [stable-0.13]
+          babelversions: !!python/tuple [stable-2.0]
+          testtypes: !!python/tuple [base]
+          filter: ''
+          touchstone: ''
       - '{job_prefix}lttng-tools_{version}_{buildtype}':
           buildtype: macosbuild
           version: stable-2.12
           urcuversions: !!python/tuple [stable-0.13]
           babelversions: !!python/tuple [stable-2.0]
           testtypes: !!python/tuple [base]
-          filter: ''
+          filter: '(node=="amd64-rootnode" && platform=="bionic-amd64")'
           touchstone: ''
       - 'lttng-tools_{version}_release':
           version: v2.12
     jobs:
       # stable-2.11
       - '{job_prefix}lttng-tools_{version}_{buildtype}':
-          buildtype: build
+          buildtype: linuxbuild
           version: stable-2.11
           ustversion: stable-2.11
-          platforms: !!python/tuple [bionic-amd64]
+          platforms: !!python/tuple [jammy-amd64]
           builds: !!python/tuple [std, oot, dist]
           confs: !!python/tuple [std, no-ust, agents, debug-rcu, tls_fallback]
           urcuversions: !!python/tuple [stable-0.11]
           buildtype: portbuild
           version: stable-2.11
           ustversion: stable-2.11
-          platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386]
+          platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
           builds: !!python/tuple [std]
           confs: !!python/tuple [no-ust, agents]
           urcuversions: !!python/tuple [stable-0.11]
           buildtype: slesbuild
           version: stable-2.11
           ustversion: stable-2.11
-          platforms: !!python/tuple [sles12sp5-amd64]
+          platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
           builds: !!python/tuple [std]
           confs: !!python/tuple [agents]
           urcuversions: !!python/tuple [stable-0.11]
           testtypes: !!python/tuple [base]
           filter: ''
           touchstone: ''
-      - '{job_prefix}lttng-tools_{version}_long_regression':
-          buildtype: build
-          version: stable-2.11
-          ustversion: stable-2.11
-          platforms: !!python/tuple [bionic-amd64]
-          builds: !!python/tuple [std]
-          confs: !!python/tuple [std]
-          urcuversions: !!python/tuple [stable-0.11]
-          babelversions: !!python/tuple [stable-1.5]
-          testtypes: !!python/tuple [full]
-          filter: ''
-          touchstone: ''
-      - '{job_prefix}lttng-tools_{version}_rootbuild':
-          buildtype: build
-          version: stable-2.11
-          ustversion: stable-2.11
-          platforms: !!python/tuple [bionic-amd64]
-          builds: !!python/tuple [std]
-          confs: !!python/tuple [agents]
-          urcuversions: !!python/tuple [stable-0.11]
-          babelversions: !!python/tuple [stable-1.5]
-          testtypes: !!python/tuple [base]
-          filter: ''
-          touchstone: ''
 
       # stable-2.10
       - '{job_prefix}lttng-tools_{version}_{buildtype}':
-          buildtype: build
+          buildtype: linuxbuild
           version: stable-2.10
           ustversion: stable-2.10
-          platforms: !!python/tuple [bionic-amd64]
+          platforms: !!python/tuple [jammy-amd64]
           builds: !!python/tuple [std, oot, dist]
           confs: !!python/tuple [std, no-ust, agents, debug-rcu, tls_fallback]
           urcuversions: !!python/tuple [stable-0.9]
           buildtype: portbuild
           version: stable-2.10
           ustversion: stable-2.10
-          platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386]
+          platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
           builds: !!python/tuple [std]
           confs: !!python/tuple [no-ust, agents]
           urcuversions: !!python/tuple [stable-0.9]
           buildtype: slesbuild
           version: stable-2.10
           ustversion: stable-2.10
-          platforms: !!python/tuple [sles12sp5-amd64]
+          platforms: !!python/tuple [sles12sp5-amd64, sles15sp4-amd64]
           builds: !!python/tuple [std]
           confs: !!python/tuple [agents]
           urcuversions: !!python/tuple [stable-0.9]
           testtypes: !!python/tuple [base]
           filter: ''
           touchstone: ''
-      - '{job_prefix}lttng-tools_{version}_long_regression':
-          buildtype: build
-          version: stable-2.10
-          ustversion: stable-2.10
-          platforms: !!python/tuple [bionic-amd64]
-          builds: !!python/tuple [std]
-          confs: !!python/tuple [std]
-          urcuversions: !!python/tuple [stable-0.9]
-          babelversions: !!python/tuple [stable-1.5]
-          testtypes: !!python/tuple [full]
-          filter: ''
-          touchstone: ''
 
 - project:
     name: dev_jgalar_lttng-tools
           buildtype: portbuild
           version: master-staging
           ustversion: master
-          platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386]
+          platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
           builds: !!python/tuple [std]
           confs: !!python/tuple [std, no-ust, agents]
           urcuversions: !!python/tuple [master]
           buildtype: portbuild
           version: stable-2.13-staging
           ustversion: stable-2.13
-          platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386]
+          platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
           builds: !!python/tuple [std]
           confs: !!python/tuple [std, no-ust, agents]
           urcuversions: !!python/tuple [stable-0.13]
           buildtype: portbuild
           version: stable-2.12-staging
           ustversion: stable-2.12
-          platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386]
+          platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
           builds: !!python/tuple [std]
           confs: !!python/tuple [std, no-ust, agents]
           urcuversions: !!python/tuple [stable-0.13]
           buildtype: portbuild
           version: stable-2.11-staging
           ustversion: stable-2.11
-          platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386]
+          platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
           builds: !!python/tuple [std]
           confs: !!python/tuple [std, no-ust, agents]
           urcuversions: !!python/tuple [stable-0.11]
           buildtype: portbuild
           version: stable-2.10-staging
           ustversion: stable-2.10
-          platforms: !!python/tuple [deb11-armhf, deb11-arm64, sid-powerpc, deb11-ppc64el, deb11-i386]
+          platforms: !!python/tuple [deb11-armhf, deb11-arm64, deb11-ppc64el, deb11-i386]
           builds: !!python/tuple [std]
           confs: !!python/tuple [std, no-ust, agents]
           urcuversions: !!python/tuple [stable-0.9]
This page took 0.029727 seconds and 4 git commands to generate.