X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=jobs%2Flttng-modules.yaml;h=22c1e3050672a60c74ebcda5ecf05bd659a08af0;hb=009efde7cc10501549ae77eded54ef059aee76c3;hp=1a80e88fcfbcb4881b2c61c83c5da4e837633176;hpb=ee4b760abf60e1d139cab33d5d5f0f4403723b8e;p=lttng-ci.git diff --git a/jobs/lttng-modules.yaml b/jobs/lttng-modules.yaml index 1a80e88..22c1e30 100644 --- a/jobs/lttng-modules.yaml +++ b/jobs/lttng-modules.yaml @@ -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. + +

Job is managed by Jenkins Job Builder.

+ + 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: <tng-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: <tng-modules_build_parameters_defaults +- _lttng-modules_build_parameters_defaults: <tng-modules_build_parameters_defaults name: 'lttng-modules_build_parameters_defaults' parameters: - string: @@ -32,8 +102,8 @@ default: 'lttng-modules_PARAM_{parambuildtype}' description: 'The parametrized job to use for child builds.' -- lttng-modules_build_parameters_gerrit: <tng-modules_build_parameters_gerrit - name: 'lttng-modules_build_parameters_defaults' +- _lttng-modules_build_parameters_review: <tng-modules_build_parameters_review + name: 'lttng-modules_build_parameters_review' parameters: - string: name: 'maxConcurrentBuild' @@ -53,7 +123,7 @@ description: 'Kernel versions list filtering strategy.' - string: name: 'kverrc' - default: 'false' + default: 'true' description: 'Add latest RC to kernel versions list.' - string: name: 'kgitrepo' @@ -64,7 +134,7 @@ default: 'lttng-modules_PARAM_build' description: 'The parametrized job to use for child builds.' -- lttng-modules_build_parameters_ubuntu: <tng-modules_build_parameters_ubuntu +- _lttng-modules_build_parameters_ubuntu: <tng-modules_build_parameters_ubuntu name: 'lttng-modules_build_parameters_ubuntu' parameters: - string: @@ -100,7 +170,7 @@ default: '{uversion}' description: 'The lowest kernel version to build.' -- lttng-modules_build_parameters_rt: <tng-modules_build_parameters_rt +- _lttng-modules_build_parameters_rt: <tng-modules_build_parameters_rt name: 'lttng-modules_build_parameters_rt' parameters: - string: @@ -132,14 +202,14 @@ default: 'lttng-modules_PARAM_build' description: 'The parametrized job to use for child builds.' -- lttng-modules_build_builders_defaults: <tng-modules_build_builders_defaults +- _lttng-modules_build_builders_defaults: <tng-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: <tng-modules_build_rt_builders_defaults +- _lttng-modules_build_rt_builders_defaults: <tng-modules_build_rt_builders_defaults name: 'lttng-modules_build_rt_builders_defaults' builders: - system-groovy: @@ -147,76 +217,6 @@ !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. - -

Job is managed by Jenkins Job Builder.

- - 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: <tng-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 @@ -239,7 +239,8 @@ scm: [] triggers: - - timed: "@hourly" + # Check for new kernel tags everay day at 22:00 + - timed: "0 22 * * *" builders: - system-groovy: @@ -262,6 +263,11 @@ node: 'master' + triggers: + # Check for new commits every hour + - pollscm: + cron: "@hourly" + <<: *lttng-modules_build_parameters_defaults <<: *lttng-modules_build_builders_defaults @@ -279,6 +285,9 @@ node: 'master' + # This is a test job, no triggers + triggers: [] + parameters: - string: name: 'maxConcurrentBuild' @@ -312,7 +321,7 @@ <<: *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 @@ -337,8 +346,8 @@ - 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: @@ -348,7 +357,7 @@ categories: - 'gerrit-build' - <<: *lttng-modules_build_parameters_gerrit + <<: *lttng-modules_build_parameters_review <<: *lttng-modules_build_builders_defaults publishers: @@ -372,8 +381,9 @@ <<: *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} @@ -389,6 +399,13 @@ 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 @@ -427,6 +444,13 @@ 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 @@ -444,8 +468,8 @@ axes: - axis: type: slave - name: arch - values: '{obj:arch}' + name: platforms + values: '{obj:platforms}' properties: - build-discarder: @@ -473,7 +497,7 @@ scm: [] - triggers: + triggers: [] builders: - shell: @@ -496,8 +520,8 @@ axes: - axis: type: slave - name: arch - values: '{obj:arch}' + name: platforms + values: '{obj:platforms}' properties: - build-discarder: @@ -525,7 +549,7 @@ scm: [] - triggers: + triggers: [] builders: - shell: @@ -535,6 +559,62 @@ - 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. + +

Job is managed by Jenkins Job Builder.

+ + 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 @@ -551,6 +631,10 @@ type: user-defined name: cross_arch values: '{obj:cross_arch}' + - axis: + type: slave + name: platforms + values: '{obj:platforms}' properties: - build-discarder: @@ -578,7 +662,7 @@ scm: [] - triggers: + triggers: [] builders: - shell: @@ -590,7 +674,7 @@ - job-template: name: lttng-modules_{mversion}_coverity defaults: lttng-modules - node: 'amd64' + node: 'deb12-amd64' triggers: - pollscm: @@ -609,7 +693,7 @@ 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 @@ -698,17 +782,31 @@ # 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: @@ -739,20 +837,37 @@ # 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' @@ -760,12 +875,23 @@ 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 @@ -774,7 +900,10 @@ 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 @@ -783,3 +912,11 @@ 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