jjb: Add lttng-modules jobs for Ubuntu noble
[lttng-ci.git] / jobs / lttng-modules.yaml
index 1a80e88fcfbcb4881b2c61c83c5da4e837633176..22c1e3050672a60c74ebcda5ecf05bd659a08af0 100644 (file)
@@ -1,6 +1,76 @@
 ---
+## Defaults
+- defaults:
+    name: lttng-modules
+    description: |
+      The LTTng modules provide Linux kernel tracing capability to the LTTng
+      2.0 tracer toolset.
+
+      <p>Job is managed by Jenkins Job Builder.</p>
+
+    project-type: freestyle
+
+    wrappers:
+      - workspace-cleanup
+      - timestamps
+      - ansicolor
+
+    scm:
+      - git:
+          url: https://github.com/{github_user}/{github_name}.git
+          browser: githubweb
+          browser-url: https://github.com/{github_user}/{github_name}
+          branches:
+            - "refs/heads/{mversion}"
+          shallow-clone: true
+          fastpoll: true
+          basedir: src/lttng-modules
+          wipe-workspace: false
+          skip-tag: true
+
+    triggers:
+      - pollscm:
+          cron: "@hourly"
+
+    properties:
+      - build-discarder:
+          num-to-keep: 10
+          artifact-num-to-keep: 2
+      - github:
+          url: https://github.com/{github_user}/{github_name}
+
+    publishers:
+      - workspace-cleanup
+      - ircbot: &lttng-modules_publisher_ircbot_defaults
+          strategy: statechange-only
+          message-type: summary
+          matrix-notifier: only-parent
+      - 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
+
+
 ## Anchors
-- lttng-modules_build_parameters_defaults: &lttng-modules_build_parameters_defaults
+- _lttng-modules_build_parameters_defaults: &lttng-modules_build_parameters_defaults
     name: 'lttng-modules_build_parameters_defaults'
     parameters:
       - string:
           default: 'lttng-modules_PARAM_{parambuildtype}'
           description: 'The parametrized job to use for child builds.'
 
-- lttng-modules_build_parameters_gerrit: &lttng-modules_build_parameters_gerrit
-    name: 'lttng-modules_build_parameters_defaults'
+- _lttng-modules_build_parameters_review: &lttng-modules_build_parameters_review
+    name: 'lttng-modules_build_parameters_review'
     parameters:
       - string:
           name: 'maxConcurrentBuild'
           description: 'Kernel versions list filtering strategy.'
       - string:
           name: 'kverrc'
-          default: 'false'
+          default: '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_ubuntu
+- _lttng-modules_build_parameters_ubuntu: &lttng-modules_build_parameters_ubuntu
     name: 'lttng-modules_build_parameters_ubuntu'
     parameters:
       - string:
           default: '{uversion}'
           description: 'The lowest kernel version to build.'
 
-- lttng-modules_build_parameters_rt: &lttng-modules_build_parameters_rt
+- _lttng-modules_build_parameters_rt: &lttng-modules_build_parameters_rt
     name: 'lttng-modules_build_parameters_rt'
     parameters:
       - string:
           default: 'lttng-modules_PARAM_build'
           description: 'The parametrized job to use for child builds.'
 
-- lttng-modules_build_builders_defaults: &lttng-modules_build_builders_defaults
+- _lttng-modules_build_builders_defaults: &lttng-modules_build_builders_defaults
     name: 'lttng-modules_build_builders_defaults'
     builders:
       - system-groovy:
          command:
            !include-raw-escape: scripts/lttng-modules/master.groovy
 
-- lttng-modules_build_rt_builders_defaults: &lttng-modules_build_rt_builders_defaults
+- _lttng-modules_build_rt_builders_defaults: &lttng-modules_build_rt_builders_defaults
     name: 'lttng-modules_build_rt_builders_defaults'
     builders:
       - system-groovy:
            !include-raw-escape: scripts/lttng-modules/master-rt.groovy
 
 
-## Defaults
-- defaults:
-    name: lttng-modules
-    description: |
-      The LTTng modules provide Linux kernel tracing capability to the LTTng
-      2.0 tracer toolset.
-
-      <p>Job is managed by Jenkins Job Builder.</p>
-
-    project-type: freestyle
-
-    wrappers:
-      - workspace-cleanup
-      - timestamps
-      - ansicolor
-
-    scm:
-      - git:
-          url: https://github.com/{github_user}/{github_name}.git
-          browser: githubweb
-          browser-url: https://github.com/{github_user}/{github_name}
-          branches:
-            - "refs/heads/{mversion}"
-          shallow-clone: true
-          fastpoll: true
-          basedir: src/lttng-modules
-          wipe-workspace: false
-          skip-tag: true
-
-    triggers:
-      - pollscm:
-          cron: "@hourly"
-
-    properties:
-      - build-discarder:
-          num-to-keep: 10
-          artifact-num-to-keep: 2
-      - github:
-          url: https://github.com/{github_user}/{github_name}
-
-    publishers:
-      - workspace-cleanup
-      - ircbot: &lttng-modules_publisher_ircbot_defaults
-          strategy: statechange-only
-          message-type: summary-scm
-          matrix-notifier: only-configurations
-      - 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
-
-
 ## Templates
 - job-template:
     name: lttng-modules_ALL_trigger-vanilla
     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'
     <<: *lttng-modules_build_builders_defaults
 
 - job-template:
-    name: dev_gerrit_lttng-modules_build
+    name: dev_review_lttng-modules_{mversion}_build
     defaults: lttng-modules
     concurrent: true
 
             - project-compare-type: 'PLAIN'
               project-pattern: 'lttng-modules'
               branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**'
+                - branch-compare-type: 'PLAIN'
+                  branch-pattern: '{mversion}'
 
     properties:
       - build-discarder:
           categories:
             - 'gerrit-build'
 
-    <<: *lttng-modules_build_parameters_gerrit
+    <<: *lttng-modules_build_parameters_review
     <<: *lttng-modules_build_builders_defaults
 
     publishers:
     <<: *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}-{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
 
     axes:
       - axis:
           type: slave
-          name: arch
-          values: '{obj:arch}'
+          name: platforms
+          values: '{obj:platforms}'
 
     properties:
       - build-discarder:
 
     scm: []
 
-    triggers:
+    triggers: []
 
     builders:
       - shell:
     axes:
       - axis:
           type: slave
-          name: arch
-          values: '{obj:arch}'
+          name: platforms
+          values: '{obj:platforms}'
 
     properties:
       - build-discarder:
 
     scm: []
 
-    triggers:
+    triggers: []
 
     builders:
       - shell:
       - workspace-cleanup
 
 
+- job-template:
+    name: dev_mjeanson_lttng-modules_PARAM_crossbuild
+    defaults: lttng-modules
+    description: |
+      This is a parametrized job used by 'master' jobs to build any combinations
+      of lttng-modules and linux kernel versions.
+
+      <p>Job is managed by Jenkins Job Builder.</p>
+
+    project-type: matrix
+    node: 'master' # Applies only to matrix flyweight task
+    axes:
+      - axis:
+          type: user-defined
+          name: cross_arch
+          values: '{obj:cross_arch}'
+      - axis:
+          type: slave
+          name: platforms
+          values: '{obj:platforms}'
+
+    properties:
+      - build-discarder:
+          days-to-keep: 2
+
+    parameters:
+      - string:
+          name: 'mversion'
+          default: 'master'
+          description: 'The lttng-modules branch to build.'
+      - string:
+          name: 'mgitrepo'
+          default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
+          description: 'The lttng-modules git repository url.'
+      - string:
+          name: 'ktag'
+          default: ''
+          description: 'The linux kernel git tag to build against.'
+      - string:
+          name: 'kgitrepo'
+          default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
+          description: 'The linux kernel git repository url.'
+
+    concurrent: true
+
+    scm: []
+
+    triggers: []
+
+    builders:
+      - shell:
+          !include-raw-escape: scripts/lttng-modules/param-build.sh
+
+    publishers:
+      - workspace-cleanup
+
 - job-template:
     name: lttng-modules_PARAM_crossbuild
     defaults: lttng-modules
           type: user-defined
           name: cross_arch
           values: '{obj:cross_arch}'
+      - axis:
+          type: slave
+          name: platforms
+          values: '{obj:platforms}'
 
     properties:
       - build-discarder:
 
     scm: []
 
-    triggers:
+    triggers: []
 
     builders:
       - shell:
 - 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 $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
 
 # Ubuntu normal builds
       - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
+          mversion:
+            - master
+            - stable-2.13
           uversion:
-            - xenial
-            - 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:
 
 # Ubuntu cross builds
       - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
+          mversion:
+            - master
+            - stable-2.13
           uversion:
-            - xenial
-            - 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':
-          arch: !!python/tuple [amd64]
+          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'
           mversion: master
 
 - project:
-    name: lttng-modules-gerrit
+    name: lttng-modules-review
     jobs:
-      - 'dev_gerrit_lttng-modules_build':
-          kverfloor: v5.5
-          kverceil: v5.6
-          kverfilter: stable-head
+      - 'dev_review_lttng-modules_{mversion}_build':
+          mversion: master
+          kverfloor: v4.4
+          kverceil: ''
+          kverfilter: lts-head
+      - 'dev_review_lttng-modules_{mversion}_build':
+          mversion: stable-2.13
+          kverfloor: v3.0
+          kverceil: ''
+          kverfilter: lts-head
+      - 'dev_review_lttng-modules_{mversion}_build':
+          mversion: stable-2.12
+          kverfloor: v3.0
+          kverceil: v5.18
+          kverfilter: lts-head
 
 - project:
     name: lttng-modules-dev-mjeanson
     email_to: ''
     jobs:
       - 'dev_mjeanson_lttng-modules_PARAM_build':
-          arch: !!python/tuple [amd64]
+          platforms: !!python/tuple [deb12-amd64]
+      - 'dev_mjeanson_lttng-modules_PARAM_crossbuild':
+          platforms: !!python/tuple [deb12-amd64]
+          cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
       - 'dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla':
           mversion:
             - master
           kverfloor: v3.0
           kverceil: ''
           kverfilter: stable-head
+      - 'dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla':
+          mversion:
+            - master
+          buildtype: crossbuild
+          parambuildtype: crossbuild
+          kverfloor: v4.4
+          kverceil: ''
+          kverfilter: lts-head
This page took 0.029607 seconds and 4 git commands to generate.