jjb: Default kverrc to false for lttng-modules stable-2.12 jobs
[lttng-ci.git] / jobs / lttng-modules.yaml
index 0c837adb4752dff5573db86e11e1f31707742bd6..744a712e3b24a14debc33bce469d212605aca031 100644 (file)
 ---
+## Defaults
 - defaults:
     name: lttng-modules
     description: |
-      Build lttng-modules against different Linux kernels.
+      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
 
-    logrotate:
-        daysToKeep: -1
-        numToKeep: 2
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
-
     wrappers:
       - workspace-cleanup
       - timestamps
       - ansicolor
 
     scm:
-      #- git:
-      #    url: git://artifacts.internal.efficios.com/git/linux-stable.git
-      #    branches:
-      #      - refs/tags/v{kversion}
-      #    shallow-clone: true
-      #    skip-tag: true
-      #    fastpoll: true
-      #    basedir: linux
-      #    reference-repo: $HOME/gitcache/linux-stable.git/
       - git:
-          url: git://github.com/lttng/lttng-modules.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: &lttng-modules_publisher_email-ext_defaults
+          recipients: '{obj:email_to}'
+          reply-to: ci-notification@lists.lttng.org
+          always: false
+          unstable: false
+          first-failure: true
+          first-unstable: true
+          not-built: false
+          aborted: false
+          regression: false
+          failure: false
+          second-failure: false
+          improvement: false
+          still-failing: false
+          success: false
+          fixed: false
+          fixed-unhealthy: true
+          still-unstable: false
+          pre-build: false
+          matrix-trigger: only-parent
+          send-to:
+            - recipients
+
+
+## Anchors
+- _lttng-modules_build_parameters_defaults: &lttng-modules_build_parameters_defaults
+    name: 'lttng-modules_build_parameters_defaults'
+    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: '{kverrc|true}'
+          description: 'Add latest RC to kernel versions list.'
+      - string:
+          name: 'kgitrepo'
+          default: 'git://git-mirror.internal.efficios.com/git/linux-all.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.'
+
+- _lttng-modules_build_parameters_review: &lttng-modules_build_parameters_review
+    name: 'lttng-modules_build_parameters_review'
+    parameters:
+      - string:
+          name: 'maxConcurrentBuild'
+          default: '10'
+          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: '{kverrc|true}'
+          description: 'Add latest RC to kernel versions list.'
+      - string:
+          name: 'kgitrepo'
+          default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
+          description: 'The linux kernel git repository url.'
+      - string:
+          name: 'kbuildjob'
+          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:
+      - 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/ubuntu-{uversion}.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: 'uversion'
+          default: '{uversion}'
+          description: 'The lowest kernel version to build.'
+
+- _lttng-modules_build_parameters_rt: &lttng-modules_build_parameters_rt
+    name: 'lttng-modules_build_parameters_rt'
+    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/kernel/rt/linux-stable-rt.git'
+          description: 'The linux kernel git repository url.'
+      - string:
+          name: 'kbuildjob'
+          default: 'lttng-modules_PARAM_build'
+          description: 'The parametrized job to use for child builds.'
+
+- _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
+    name: 'lttng-modules_build_rt_builders_defaults'
+    builders:
+      - system-groovy:
+         command:
+           !include-raw-escape: scripts/lttng-modules/master-rt.groovy
+
+
+## Templates
+- job-template:
+    name: lttng-modules_ALL_trigger-vanilla
+    defaults: lttng-modules
+    description: |
+      The LTTng modules provide Linux kernel tracing capability to the LTTng
+      2.0 tracer toolset.
+
+      This job will trigger the build jobs when a new tag is added to the vanilla
+      and stable kernel trees.
+
+      <p>Job is managed by Jenkins Job Builder.</p>
+
+    node: 'master'
+
+    wrappers:
+      - timestamps
+      - ansicolor
+
+    scm: []
+
+    triggers:
+      # Check for new kernel tags everay day at 22:00
+      - timed: "0 22 * * *"
+
+    builders:
+      - system-groovy:
+         command:
+           !include-raw-escape: scripts/lttng-modules/trigger-vanilla.groovy
+
+    publishers: []
+
+- job-template:
+    name: lttng-modules_{mversion}_{buildtype}-vanilla
+    defaults: lttng-modules
+    description: |
+      The LTTng modules provide Linux kernel tracing capability to the LTTng
+      2.0 tracer toolset.
+
+      This job will build the {mversion} branch against stable vanilla
+      kernel tags.
+
+      <p>Job is managed by Jenkins Job Builder.</p>
+
+    node: 'master'
+
+    triggers:
+      # Check for new commits every hour
+      - pollscm:
+          cron: "@hourly"
+
+    <<: *lttng-modules_build_parameters_defaults
+    <<: *lttng-modules_build_builders_defaults
+
+- job-template:
+    name: dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla
+    defaults: lttng-modules
+    description: |
+      The LTTng modules provide Linux kernel tracing capability to the LTTng
+      2.0 tracer toolset.
+
+      This job will build the {mversion} branch against stable vanilla
+      kernel tags.
+
+      <p>Job is managed by Jenkins Job Builder.</p>
+
+    node: 'master'
+
+    # This is a test job, no triggers
+    triggers: []
+
+    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: 'true'
+          description: 'Add latest RC to kernel versions list.'
+      - string:
+          name: 'kgitrepo'
+          default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
+          description: 'The linux kernel git repository url.'
+      - string:
+          name: 'kbuildjob'
+          default: 'dev_mjeanson_lttng-modules_PARAM_{parambuildtype}'
+          description: 'The parametrized job to use for child builds.'
+
+    <<: *lttng-modules_build_builders_defaults
+
+- job-template:
+    name: dev_review_lttng-modules_{mversion}_build
+    defaults: lttng-modules
+    concurrent: true
+
+    node: 'master'
+
+    scm:
+      - git:
+          url: https://review.lttng.org/lttng-modules
+          refspec: 'refs/changes/*:refs/changes/*'
           branches:
-            - "{mversion}"
-          basedir: lttng-modules
+            - '$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:
-          max-per-node: 0
-          max-total: 0
-          option: category
+          option: 'category'
           categories:
-            - 'lttng-module-linux'
+            - 'gerrit-build'
 
+    <<: *lttng-modules_build_parameters_review
+    <<: *lttng-modules_build_builders_defaults
+
+    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
+    description: |
+      The LTTng modules provide Linux kernel tracing capability to the LTTng
+      2.0 tracer toolset.
+
+      This job will build the {mversion} branch against all stable vanilla
+      kernel tags.
+
+      <p>Job is managed by Jenkins Job Builder.</p>
+
+    node: 'master'
+
+    <<: *lttng-modules_build_parameters_defaults
+    <<: *lttng-modules_build_builders_defaults
+
+    triggers:
+      # Check for new commits every friday at midnight
+      - pollscm:
+          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}
+    defaults: lttng-modules
+    description: |
+      The LTTng modules provide Linux kernel tracing capability to the LTTng
+      2.0 tracer toolset.
+
+      This job will build the {mversion} branch against Ubuntu {uversion}
+      released kernels, including the LTS backport kernels.
+
+      <p>Job is managed by Jenkins Job Builder.</p>
+
+    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
+
+- job-template:
+    name: lttng-modules_{mversion}_fullbuild-{uversion}
+    defaults: lttng-modules
+    description: |
+      The LTTng modules provide Linux kernel tracing capability to the LTTng
+      2.0 tracer toolset.
+
+      This job will build the {mversion} branch against Ubuntu {uversion}
+      released kernels, including the LTS backport kernels.
+
+      <p>Job is managed by Jenkins Job Builder.</p>
+
+    node: 'master'
+
+    <<: *lttng-modules_build_parameters_ubuntu
+    <<: *lttng-modules_build_builders_defaults
+
+    triggers:
+      - pollscm:
+          cron: "@midnight"
+
+- job-template:
+    name: lttng-modules_{mversion}_build-rt
+    defaults: lttng-modules
+    description: |
+      The LTTng modules provide Linux kernel tracing capability to the LTTng
+      2.0 tracer toolset.
+
+      This job will build the {mversion} branch against all Linutronix RT
+      kernels.
+
+      <p>Job is managed by Jenkins Job Builder.</p>
+
+    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
+
+- job-template:
+    name: lttng-modules_PARAM_build
+    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: 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.'
+      - 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
+
+    scm: []
+
+    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
+
+    publishers:
+      - workspace-cleanup
 
-## Templates
 - job-template:
-    name: lttng-modules_{mversion}_{kversion}_{buildtype}
+    name: dev_mjeanson_lttng-modules_PARAM_build
     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: 'x86_32 || x86_64' # Applies only to matrix flyweight task
+    node: 'master' # Applies only to matrix flyweight task
     axes:
       - axis:
-         type: slave
-         name: arch
-         values: '{obj:arch}'
+          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: 'https://github.com/{github_user}/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: 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
+    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_{mversion}_coverity
+    defaults: lttng-modules
+    node: 'deb12-amd64'
+
+    triggers:
+      - pollscm:
+          cron: "@daily"
+
+    wrappers:
+      - workspace-cleanup
+      - timestamps
+      - ansicolor:
+          colormap: xterm
+      - credentials-binding:
+          - username-password-separated:
+              credential-id: lttng-modules_coverity_token
+              username: COVERITY_SCAN_PROJECT_NAME
+              password: COVERITY_SCAN_TOKEN
 
     builders:
-      - copyartifact:
-          project: kernel_{kversion}_{buildtype}/arch=$arch
-          which-build: last-successful
-          stable: true
-          filter: 'build/**'
-          target: 'deps/linux'
       - shell: |
-          git clone --depth=1 -b "v{kversion}" --reference $HOME/gitcache/linux-stable.git/ git://artifacts.internal.efficios.com/git/linux-stable.git 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
+         make modules_prepare
       - shell:
-              !include-raw-escape scripts/lttng-modules/build.sh
+         !include-raw-escape: scripts/common/coverity.sh
 
     publishers:
       - archive:
-          artifacts: 'build/**'
+          artifacts: 'analysis-results.tgz,cov-int/**'
           allow-empty: false
-          fingerprint: true
+      - ircbot: *lttng-modules_publisher_ircbot_defaults
       - workspace-cleanup
 
 
 ## Project
 - project:
     name: lttng-modules
+    github_user: lttng
+    github_name: lttng-modules
+    email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
     mversion:
-      !include jobs/inc/lttng-modules-versions.yaml.inc
-    kversion:
-      !include jobs/inc/kernel-versions.yaml.inc
+      - stable-2.12
+      - stable-2.13
+      - master
+    jobs:
+
+# Vanilla normal builds
+      - 'lttng-modules_{mversion}_{buildtype}-vanilla':
+          mversion:
+            - master
+          buildtype: build
+          parambuildtype: build
+          kverfloor: v4.4
+          kverceil: ''
+          kverfilter: stable-head
+      - 'lttng-modules_{mversion}_fullbuild-vanilla':
+          mversion:
+            - master
+          buildtype: build
+          parambuildtype: build
+          kverfloor: v4.4
+          kverceil: ''
+          kverfilter: none
+
+      - 'lttng-modules_{mversion}_{buildtype}-vanilla':
+          mversion:
+            - stable-2.13
+          buildtype: build
+          parambuildtype: build
+          kverfloor: v3.0
+          kverceil: ''
+          kverfilter: stable-head
+      - 'lttng-modules_{mversion}_fullbuild-vanilla':
+          mversion:
+            - stable-2.13
+          buildtype: build
+          parambuildtype: build
+          kverfloor: v3.0
+          kverceil: ''
+          kverfilter: none
+
+      - 'lttng-modules_{mversion}_{buildtype}-vanilla':
+          mversion:
+            - stable-2.12
+          buildtype: build
+          parambuildtype: build
+          kverfloor: v3.0
+          kverceil: v5.18-rc1
+          kverfilter: stable-head
+          kverrc: false
+      - 'lttng-modules_{mversion}_fullbuild-vanilla':
+          mversion:
+            - stable-2.12
+          buildtype: build
+          parambuildtype: build
+          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':
+          mversion: master
+          kverfloor: v4.4.0-rt1-rebase
+          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:
+            - 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:
+            - master
+          buildtype: crossbuild
+          parambuildtype: crossbuild
+          kverfloor: v4.4
+          kverceil: ''
+          kverfilter: stable-head
+
+      - 'lttng-modules_{mversion}_{buildtype}-vanilla':
+          mversion:
+            - stable-2.13
+          buildtype: crossbuild
+          parambuildtype: crossbuild
+          kverfloor: v3.18
+          kverceil: ''
+          kverfilter: stable-head
+
+      - 'lttng-modules_{mversion}_{buildtype}-vanilla':
+          mversion:
+            - stable-2.12
+          buildtype: crossbuild
+          parambuildtype: crossbuild
+          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:
+            - 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':
+          platforms: !!python/tuple [deb12-amd64]
+          cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, riscv64]
+
+# Misc jobs
+      - 'lttng-modules_ALL_trigger-vanilla'
+      - 'lttng-modules_{mversion}_coverity':
+          mversion: master
+
+- project:
+    name: lttng-modules-review
+    jobs:
+      - '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
+          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
+    github_user: mjeanson
+    github_name: lttng-modules
+    email_to: ''
     jobs:
-      - 'lttng-modules_{mversion}_{kversion}_{buildtype}':
+      - 'dev_mjeanson_lttng-modules_PARAM_build':
+          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
           buildtype: build
-          arch: !!python/tuple [x86-32, x86-64]
-      #- 'lttng-modules_{mversion}_{kversion}_{buildtype}':
-      #    buildtype: portbuild
-      #    arch: !!python/tuple [armhf, powerpc]
+          parambuildtype: build
+          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.033025 seconds and 4 git commands to generate.