LAVA: use bridged network for kvm devices
[lttng-ci.git] / jobs / latency-tracker.yaml
index 34cb285a26a3a4c04ccf89fc911851cacc249195..827d84943acf0e2a38208ea083c5ba4cec8a9b30 100644 (file)
       - copyartifact:
           project: kernel_{kversion}_{buildtype}/arch=$arch
           which-build: last-successful
-          stable: true
+          stable: false
           filter: 'build/**'
           target: 'deps/linux'
           do-not-fingerprint: true
       - shell: |
-          git clone --depth=1 -b "v{kversion}" --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux
+          git clone --depth=1 -b "v{kversion}" --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/git/linux-all.git src/linux
       - shell:
          !include-raw-escape: scripts/latency-tracker/build.sh
 
           artifacts: 'build/**'
           allow-empty: false
       - workspace-cleanup
+      - 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
+
 
 - job-template:
-    name: latency-tracker_{mversion}_build-vanilla
+    name: latency-tracker_{mversion}_{buildtype}-vanilla
     defaults: latency-tracker
     description: |
       The LTTng modules provide Linux kernel tracing capability to the LTTng
           name: 'kverfloor'
           default: 'v3.12'
           description: 'The lowest kernel version to build.'
+      - string:
+          name: 'kverceil'
+          default: ''
+          description: 'The highest kernel version to build. (excluded)'
+      - string:
+          name: 'kverfilter'
+          default: 'stable-head'
+          description: 'Kernel versions list filtering strategy.'
       - string:
           name: 'kgitrepo'
-          default: 'git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git'
+          default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
           description: 'The linux kernel git repository url.'
       - string:
           name: 'kbuildjob'
-          default: 'latency-tracker_VERSION_param-build'
+          default: 'latency-tracker_VERSION_param-{buildtype}'
           description: 'The parametrized job to use for child builds.'
 
     builders:
       - system-groovy:
          command:
-           !include-raw-escape: scripts/latency-tracker/master-vanilla.groovy
+           !include-raw-escape: scripts/latency-tracker/master.groovy
 
     publishers:
       - workspace-cleanup
       - email-ext:
-          recipients: jdesfossez@efficios.com
+          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
 
 - job-template:
     name: latency-tracker_{mversion}_build-{uversion}
           default: '20'
           description: 'The maximum number of concurrent child build to run.'
       - string:
-          name: 'uversion'
-          default: '{uversion}'
+          name: 'kverfloor'
+          default: ''
           description: 'The lowest kernel version to build.'
+      - string:
+          name: 'kverceil'
+          default: ''
+          description: 'The highest kernel version to build. (excluded)'
+      - string:
+          name: 'kverfilter'
+          default: 'stable-head'
+          description: 'Kernel versions list filtering strategy.'
       - string:
           name: 'kgitrepo'
           default: 'git://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.git'
           name: 'kbuildjob'
           default: 'latency-tracker_VERSION_param-build'
           description: 'The parametrized job to use for child builds.'
+      - string:
+          name: 'uversion'
+          default: '{uversion}'
+          description: 'The lowest kernel version to build.'
 
     builders:
       - system-groovy:
          command:
-           !include-raw-escape: scripts/latency-tracker/master-ubuntu.groovy
+           !include-raw-escape: scripts/latency-tracker/master.groovy
 
     publishers:
       - workspace-cleanup
       - email-ext:
-          recipients: jdesfossez@efficios.com
+          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
+
 
 - job-template:
     name: latency-tracker_{mversion}_build-rt
           name: 'kverfloor'
           default: 'v2.6.36-rt0-rebase'
           description: 'The lowest kernel version to build.'
+      - string:
+          name: 'kverceil'
+          default: ''
+          description: 'The highest kernel version to build. (excluded)'
+      - string:
+          name: 'kverfilter'
+          default: 'stable-head'
+          description: 'Kernel versions list filtering strategy.'
       - string:
           name: 'kgitrepo'
           default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-rt-devel.git'
     publishers:
       - workspace-cleanup
       - email-ext:
-          recipients: jdesfossez@efficios.com
+          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
 
 - job-template:
     name: latency-tracker_VERSION_param-build
           default: 'master'
           description: 'The latency-tracker branch to build.'
       - string:
-          name: 'kversion'
+          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:
+      - git:
+          url: git://github.com/efficios/latency-tracker.git
+          browser: githubweb
+          browser-url: https://github.com/efficios/latency-tracker
+          branches:
+            - "${{mversion}}"
+          skip-tag: true
+          basedir: src/latency-tracker
+
+    triggers:
+
+    builders:
+      - shell: |
+          git clone --depth=1 -b "$ktag" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
+      - shell:
+          !include-raw-escape: scripts/latency-tracker/param-build.sh
+
+    publishers:
+      - workspace-cleanup
+
+- job-template:
+    name: latency-tracker_VERSION_param-crossbuild
+    defaults: latency-tracker
+    description: |
+      This is a parametrized job used by 'master' jobs to build any combinations
+      of latency-tracker 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}'
+
+    properties:
+      - build-discarder:
+          days-to-keep: 2
+
+    parameters:
+      - string:
+          name: 'mversion'
+          default: 'master'
+          description: 'The latency-tracker branch to build.'
+      - string:
+          name: 'ktag'
           default: ''
           description: 'The linux kernel git tag to build against.'
       - string:
           name: 'kgitrepo'
-          default: 'git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git'
+          default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
           description: 'The linux kernel git repository url.'
 
     concurrent: true
 
     builders:
       - shell: |
-          git clone --depth=1 -b "$kversion" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
+          git clone --depth=1 -b "$ktag" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" src/linux
       - shell:
           !include-raw-escape: scripts/latency-tracker/param-build.sh
 
 
     builders:
       - shell: |
-         git clone --depth=1 -b v4.4 --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux
+         git clone --depth=1 -b v4.9 --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux
          cd src/linux
          make defconfig
          sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
 
     builders:
       - shell: |
-          rm -f cppcheck.xml
-          cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/latency-tracker 2> cppcheck.xml
+          rm -f cppcheck-result.xml
+          cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/latency-tracker 2> cppcheck-result.xml
 
     publishers:
       - archive:
-          artifacts: 'cppcheck.xml'
+          artifacts: 'cppcheck-result.xml'
           allow-empty: false
       - cppcheck:
-          pattern: 'cppcheck.xml'
-      - email:
-          recipients: 'ci-notification@lists.lttng.org'
-          notify-every-unstable-build: true
-          send-to-individuals: false
+          pattern: 'cppcheck-result.xml'
+      - 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
 
 - job-template:
     name: latency-tracker_{mversion}_sloccount
     name: latency-tracker
     github_user: efficios
     github_name: latency-tracker
+    email_to: 'ci-notification@lists.lttng.org, cc:jdesfossez@efficios.com'
     mversion:
       - master
     jobs:
-      - 'latency-tracker_{mversion}_build-vanilla'
+      - 'latency-tracker_{mversion}_{buildtype}-vanilla':
+          buildtype: build
       - 'latency-tracker_{mversion}_build-rt':
       - 'latency-tracker_{mversion}_build-{uversion}':
           uversion:
             - xenial
+      - 'latency-tracker_{mversion}_{buildtype}-vanilla':
+          buildtype: crossbuild
       - 'latency-tracker_VERSION_param-build':
           arch: !!python/tuple [x86-32, x86-64]
+      - 'latency-tracker_VERSION_param-crossbuild':
+          cross_arch: !!python/tuple [armhf, arm64]
       - 'latency-tracker_{mversion}_cppcheck'
       - 'latency-tracker_{mversion}_sloccount':
           mversion: master
-#      - 'latency-tracker_{mversion}_coverity':
-#          mversion: master
+      - 'latency-tracker_{mversion}_coverity':
+          mversion: master
This page took 0.026547 seconds and 4 git commands to generate.