jjb: Default kverrc to false for lttng-modules stable-2.12 jobs
[lttng-ci.git] / jobs / lttng-modules.yaml
index cdccb89e61daa6cd0c583a51d19f04eca160df95..744a712e3b24a14debc33bce469d212605aca031 100644 (file)
@@ -45,7 +45,7 @@
           strategy: statechange-only
           message-type: summary
           matrix-notifier: only-parent
-      - email-ext:
+      - email-ext: &lttng-modules_publisher_email-ext_defaults
           recipients: '{obj:email_to}'
           reply-to: ci-notification@lists.lttng.org
           always: false
@@ -91,7 +91,7 @@
           description: 'Kernel versions list filtering strategy.'
       - string:
           name: 'kverrc'
-          default: 'true'
+          default: '{kverrc|true}'
           description: 'Add latest RC to kernel versions list.'
       - string:
           name: 'kgitrepo'
           description: 'Kernel versions list filtering strategy.'
       - string:
           name: 'kverrc'
-          default: 'false'
+          default: '{kverrc|true}'
           description: 'Add latest RC to kernel versions list.'
       - string:
           name: 'kgitrepo'
           default: 'lttng-modules_PARAM_build'
           description: 'The parametrized job to use for child builds.'
 
+- _lttng-modules_build_parameters_ubuntu: &lttng-modules_build_parameters_el
+    name: 'lttng-modules_build_parameters_el'
+    parameters:
+      - string:
+          name: 'maxConcurrentBuild'
+          default: '20'
+          description: 'The maximum number of concurrent child build to run.'
+      - string:
+          name: 'kverfloor'
+          default: '{kverfloor}'
+          description: 'The lowest kernel version to build.'
+      - string:
+          name: 'kverceil'
+          default: '{kverceil}'
+          description: 'The highest kernel version to build. (excluded)'
+      - string:
+          name: 'kverfilter'
+          default: '{kverfilter}'
+          description: 'Kernel versions list filtering strategy.'
+      - string:
+          name: 'kverrc'
+          default: 'false'
+          description: 'Add latest RC to kernel versions list.'
+      - string:
+          name: 'kgitrepo'
+          default: 'git://git-mirror.internal.efficios.com/git/rocky.git'
+          description: 'The linux kernel git repository url.'
+      - string:
+          name: 'kbuildjob'
+          default: 'lttng-modules_PARAM_{parambuildtype}'
+          description: 'The parametrized job to use for child builds.'
+      - string:
+          name: 'elversion'
+          default: '{elversion}'
+          description: 'The EL release (eg. el8)'
+      - string:
+          name: 'getsrc_repo'
+          default: 'https://github.com/rocky-linux/rocky-tools.git'
+          description: 'The git repository that contains the getsrc tool'
+      - string:
+          name: 'getsrc_version'
+          default: 'main'
+          description: 'The tag or commit to use when cloning the getsrc tool'
+
+- _lttng-modules_build_parameters_ubuntu: &lttng-modules_build_parameters_sles
+    name: 'lttng-modules_build_parameters_sles'
+    parameters:
+      - string:
+          name: 'maxConcurrentBuild'
+          default: '20'
+          description: 'The maximum number of concurrent child build to run.'
+      - string:
+          name: 'kverfloor'
+          default: '{kverfloor}'
+          description: 'The lowest kernel version to build.'
+      - string:
+          name: 'kverceil'
+          default: '{kverceil}'
+          description: 'The highest kernel version to build. (excluded)'
+      - string:
+          name: 'kverfilter'
+          default: '{kverfilter}'
+          description: 'Kernel versions list filtering strategy.'
+      - string:
+          name: 'kverrc'
+          default: 'false'
+          description: 'Add latest RC to kernel versions list.'
+      - string:
+          name: 'kgitrepo'
+          default: 'git://git-mirror.internal.efficios.com/git/sles.git'
+          description: 'The linux kernel git repository url.'
+      - string:
+          name: 'kbuildjob'
+          default: 'lttng-modules_PARAM_{parambuildtype}'
+          description: 'The parametrized job to use for child builds.'
+      - string:
+          name: 'slesversion'
+          default: '{slesversion}'
+          description: 'The SLES release (eg. sles15sp4)'
+
 - _lttng-modules_build_parameters_ubuntu: &lttng-modules_build_parameters_ubuntu
     name: 'lttng-modules_build_parameters_ubuntu'
     parameters:
     scm: []
 
     triggers:
-      - timed: "@hourly"
+      # Check for new kernel tags everay day at 22:00
+      - timed: "0 22 * * *"
 
     builders:
       - system-groovy:
 
     node: 'master'
 
+    triggers:
+      # Check for new commits every hour
+      - pollscm:
+          cron: "@hourly"
+
     <<: *lttng-modules_build_parameters_defaults
     <<: *lttng-modules_build_builders_defaults
 
 
     node: 'master'
 
+    # This is a test job, no triggers
+    triggers: []
+
     parameters:
       - string:
           name: 'maxConcurrentBuild'
     publishers:
       - workspace-cleanup
 
+- job-template:
+    name: 'dev_review_lttng-modules_{mversion}_build-{elversion}'
+    defaults: lttng-modules
+    concurrent: true
+
+    node: 'master'
+
+    scm:
+      - git:
+          url: https://review.lttng.org/lttng-modules
+          refspec: 'refs/changes/*:refs/changes/*'
+          branches:
+            - '$GERRIT_REFSPEC'
+          basedir: src/lttng-modules
+          skip-tag: true
+
+    triggers:
+      - gerrit:
+          trigger-on:
+            - comment-added-event:
+                approval-category: 'CI-Build'
+                approval-value: 1
+          projects:
+            - project-compare-type: 'PLAIN'
+              project-pattern: 'lttng-modules'
+              branches:
+                - branch-compare-type: 'PLAIN'
+                  branch-pattern: '{mversion}'
+
+    properties:
+      - build-discarder:
+          days-to-keep: 1
+      - throttle:
+          option: 'category'
+          categories:
+            - 'gerrit-build'
+
+    <<: *lttng-modules_build_parameters_el
+    <<: *lttng-modules_build_builders_defaults
+
+    publishers:
+      - workspace-cleanup
+
+- job-template:
+    name: 'dev_review_lttng-modules_{mversion}_build-{slesversion}'
+    defaults: lttng-modules
+    concurrent: true
+
+    node: 'master'
+
+    scm:
+      - git:
+          url: https://review.lttng.org/lttng-modules
+          refspec: 'refs/changes/*:refs/changes/*'
+          branches:
+            - '$GERRIT_REFSPEC'
+          basedir: src/lttng-modules
+          skip-tag: true
+
+    triggers:
+      - gerrit:
+          trigger-on:
+            - comment-added-event:
+                approval-category: 'CI-Build'
+                approval-value: 1
+          projects:
+            - project-compare-type: 'PLAIN'
+              project-pattern: 'lttng-modules'
+              branches:
+                - branch-compare-type: 'PLAIN'
+                  branch-pattern: '{mversion}'
+
+    properties:
+      - build-discarder:
+          days-to-keep: 1
+      - throttle:
+          option: 'category'
+          categories:
+            - 'gerrit-build'
+
+    <<: *lttng-modules_build_parameters_sles
+    <<: *lttng-modules_build_builders_defaults
+
+    publishers:
+      - workspace-cleanup
+
 - job-template:
     name: lttng-modules_{mversion}_fullbuild-vanilla
     defaults: lttng-modules
     <<: *lttng-modules_build_builders_defaults
 
     triggers:
+      # Check for new commits every friday at midnight
       - pollscm:
-          cron: "@midnight"
+          cron: "0 0 * * 5"
+
+- job-template:
+    name: 'lttng-modules_{mversion}_{buildtype}-{elversion}'
+    defaults: lttng-modules
+    description: |
+      The LTTng modules provide Linux kernel tracing capability to the LTTng
+      2.0 tracer toolset.
+
+      This job will the {mversion} branch against EL {elversion} released
+      kernels.
+
+      <p>Job is managed by Jenkins Job Builder.</p>
+
+    node: 'master'
+    triggers:
+      - pollscm:
+          cron: "@hourly"
+      - timed: "H 0 * * 6"
+    <<: *lttng-modules_build_parameters_el
+    <<: *lttng-modules_build_builders_defaults
+
+- job-template:
+    name: lttng-modules_{mversion}_{buildtype}-{slesversion}
+    defaults: lttng-modules
+    description: |
+      The LTTng modules provide Linux kernel tracing capability to the LTTng
+      2.0 tracer toolset.
+
+      This job will the {mversion} branch against SLES {slesversion} released
+      kernels.
+
+      <p>Job is managed by Jenkins Job Builder.</p>
+
+    node: 'master'
+    triggers:
+      - pollscm:
+          cron: "@hourly"
+      - timed: "H 0 * * 6"
+    <<: *lttng-modules_build_parameters_sles
+    <<: *lttng-modules_build_builders_defaults
 
 - job-template:
     name: lttng-modules_{mversion}_{buildtype}-{uversion}
 
     node: 'master'
 
+    triggers:
+      # Check for new commits every hour
+      - pollscm:
+          cron: "@hourly"
+      # Also run every saturday at midnight to catch new ubuntu kernel tags
+      - timed: "0 0 * * 6"
+
     <<: *lttng-modules_build_parameters_ubuntu
     <<: *lttng-modules_build_builders_defaults
 
 
     node: 'master'
 
+    triggers:
+      # Check for new commits every hour
+      - pollscm:
+          cron: "@hourly"
+      # Also run every sunday at midnight to catch new rt kernel tags
+      - timed: "0 0 * * 7"
+
     <<: *lttng-modules_build_parameters_rt
     <<: *lttng-modules_build_rt_builders_defaults
 
           name: 'kgitrepo'
           default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
           description: 'The linux kernel git repository url.'
+      - string:
+          name: 'distroversion'
+          default: ''
+          description: 'Supplementary distribution version, eg. sles15sp4 or el8'
+      - string:
+          name: 'getsrc_repo'
+          default: 'https://github.com/rocky-linux/rocky-tools.git'
+          description: 'The git repository that contains the getsrc tool'
+      - string:
+          name: 'getsrc_version'
+          default: 'main'
+          description: 'The tag or commit to use when cloning the getsrc tool'
 
     concurrent: true
 
     triggers: []
 
     builders:
+      - conditional-step:
+          condition-kind: regex-match
+          label: '$distroversion'
+          regex: '^el.*$'
+          steps:
+            - shell: |
+                #!/bin/bash
+                set -exu
+                git clone -b "$getsrc_version" "$getsrc_repo" src/getsrc
       - shell:
           !include-raw-escape: scripts/lttng-modules/param-build.sh
 
           type: user-defined
           name: cross_arch
           values: '{obj:cross_arch}'
+      - axis:
+          type: slave
+          name: platforms
+          values: '{obj:platforms}'
 
     properties:
       - build-discarder:
 - job-template:
     name: lttng-modules_{mversion}_coverity
     defaults: lttng-modules
-    node: 'amd64'
+    node: 'deb12-amd64'
 
     triggers:
       - pollscm:
 
     builders:
       - shell: |
-         git clone --depth=1 -b v5.5 --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux
+         git clone --depth=1 -b v6.1 --reference-if-able $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux
          cd src/linux
          make allyesconfig
          sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
           kverfloor: v3.0
           kverceil: v5.18-rc1
           kverfilter: stable-head
+          kverrc: false
       - 'lttng-modules_{mversion}_fullbuild-vanilla':
           mversion:
             - stable-2.12
           kverfloor: v3.0
           kverceil: v5.18-rc1
           kverfilter: none
+          kverrc: false
+
+# EL normal builds
+      - 'lttng-modules_{mversion}_{buildtype}-{elversion}':
+          mversion:
+            - master
+            - stable-2.13
+            - stable-2.12
+          elversion:
+            - el8
+          buildtype: build
+          parambuildtype: build
+          kverfloor: ''
+          kverceil: ''
+          kverfilter: stable-head
 
 # RT normal builds
       - 'lttng-modules_{mversion}_build-rt':
           kverceil: ''
           kverfilter: stable-head
 
+# SLES normal builders
+      - 'lttng-modules_{mversion}_{buildtype}-{slesversion}':
+          mversion:
+            - master
+            - stable-2.13
+            - stable-2.12
+          slesversion:
+            - sles15sp4
+          buildtype: build
+          parambuildtype: build
+          kverfloor: ''
+          kverceil: ''
+          kverfilter: stable-head
+
 # Ubuntu normal builds
       - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
+          mversion:
+            - master
+            - stable-2.13
           uversion:
-            - bionic
             - focal
             - jammy
+            - noble
           buildtype: build
           parambuildtype: build
           kverfloor: ''
           kverceil: ''
           kverfilter: stable-head
 
+      - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
+          mversion:
+            - stable-2.12
+          uversion:
+            - focal
+            - jammy
+          buildtype: build
+          parambuildtype: build
+          kverfloor: ''
+          kverceil: Ubuntu-hwe-5.18.0-0.0
+          kverfilter: stable-head
+
 # Vanilla crossbuilds
       - 'lttng-modules_{mversion}_{buildtype}-vanilla':
           mversion:
           kverfloor: v3.18
           kverceil: v5.18-rc1
           kverfilter: stable-head
+          kverrc: false
 
 # Ubuntu cross builds
       - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
+          mversion:
+            - master
+            - stable-2.13
           uversion:
-            - bionic
+            - focal
+            - jammy
+            - noble
           buildtype: crossbuild
           parambuildtype: crossbuild
           kverfloor: ''
           kverceil: ''
           kverfilter: stable-head
 
+      - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
+          mversion:
+            - stable-2.12
+          uversion:
+            - focal
+            - jammy
+          buildtype: crossbuild
+          parambuildtype: crossbuild
+          kverfloor: ''
+          kverceil: Ubuntu-hwe-5.18.0-0.0
+          kverfilter: stable-head
+
 # Parametrized kernel and modules build jobs
       - 'lttng-modules_PARAM_build':
           platforms: !!python/tuple [deb12-amd64]
       - 'lttng-modules_PARAM_crossbuild':
-          cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
+          platforms: !!python/tuple [deb12-amd64]
+          cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, riscv64]
 
 # Misc jobs
       - 'lttng-modules_ALL_trigger-vanilla'
           kverfloor: v3.0
           kverceil: v5.18
           kverfilter: lts-head
+          kverrc: false
+      - 'dev_review_lttng-modules_{mversion}_build-{elversion}':
+          mversion:
+            - master
+            - stable-2.13
+            - stable-2.12
+          elversion:
+            - el8
+          buildtype: build
+          parambuildtype: build
+          kverfloor: ''
+          kverceil: ''
+          kverfilter: stable-head
+      - 'dev_review_lttng-modules_{mversion}_build-{slesversion}':
+          mversion:
+            - master
+            - stable-2.13
+            - stable-2.12
+          slesversion:
+            - sles15sp4
+          buildtype: build
+          parambuildtype: build
+          kverfloor: ''
+          kverceil: ''
+          kverfilter: stable-head
 
 - project:
     name: lttng-modules-dev-mjeanson
This page took 0.027533 seconds and 4 git commands to generate.