+ 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