jjb: lttng-ust: Add gerrit portbuild job
[lttng-ci.git] / jobs / lttng-ust.yaml
index 8cee75cbc17e1dc1d4b887fc9732c837ab6b4ef9..d1f2130e6152943962bff6945f588fd7321c2171 100644 (file)
 
     project-type: freestyle
 
-    logrotate:
-        daysToKeep: -1
-        numToKeep: 2
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
-
     wrappers:
       - workspace-cleanup
       - timestamps
 
     scm:
       - git:
-          url: git://github.com/lttng/lttng-ust.git
+          url: git://github.com/{github_user}/{github_name}.git
           browser: githubweb
-          browser-url: https://github.com/lttng/lttng-ust
+          browser-url: https://github.com/{github_user}/{github_name}
           branches:
             - origin/{version}
+          basedir: src/lttng-ust
+          skip-tag: true
 
     triggers:
       - pollscm:
           cron: "@hourly"
 
     properties:
+      - inject:
+          properties-content: |
+            PROJECT_NAME=lttng-ust
+      - build-discarder:
+          num-to-keep: 2
       - github:
-          url: https://github.com/lttng/lttng-ust
+          url: https://github.com/{github_user}/{github_name}
 
 
-## Templates
-- job-template:
-    name: lttng-ust_{version}_{buildtype}
-    defaults: lttng-ust
-
+## Anchors
+- lttng-ust_build_axes_defaults: &lttng-ust_build_axes_defaults
+    name: 'lttng-ust_build_axes_defaults'
     project-type: matrix
-    node: 'x86-32 || x86-64' # Applies only to matrix flyweight task
+    node: 'master' # Applies only to matrix flyweight task
     execution-strategy:
-      combination-filter: |
-        (build=="std") || (liburcu_version=="master")
+      combination-filter: '{filter}'
     axes:
       - axis:
          type: slave
       - axis:
          type: user-defined
          name: conf
-         values:
-           - std
-           - java-agent
-           - python-agent
+         values: '{obj:conf}'
       - axis:
          type: user-defined
          name: liburcu_version
-         values:
-           !include jobs/inc/liburcu-versions.yaml.inc
+         values: '{obj:liburcu_version}'
       - axis:
          type: user-defined
          name: build
          values: '{obj:build}'
 
+- lttng-ust_build_builders_defaults: &lttng-ust_build_builders_defaults
+    name: 'lttng-ust_build_builders_defaults'
     builders:
-      - copyartifact:
-          project: liburcu_${{liburcu_version}}_{buildtype}/arch=$arch,conf=std,build=std
-          which-build: last-successful
-          stable: true
-          filter: 'build/**'
-          target: 'deps/liburcu'
-          do-not-fingerprint: true
+      - conditional-step:
+          condition-kind: regex-match
+          label: '$conf'
+          regex: (std|agents)
+          on-evaluation-failure: run
+          steps:
+            - copyartifact:
+                project: liburcu_${{liburcu_version}}_{buildtype}/arch=$arch,conf=std,build=std
+                which-build: last-successful
+                stable: false
+                filter: 'build/**'
+                target: 'deps'
+                do-not-fingerprint: true
+
+      - conditional-step:
+          condition-kind: regex-match
+          label: '$conf'
+          regex: (debug-rcu)
+          on-evaluation-failure: run
+          steps:
+            - copyartifact:
+                project: liburcu_${{liburcu_version}}_{buildtype}/arch=$arch,conf=debug-rcu,build=std
+                which-build: last-successful
+                stable: false
+                filter: 'build/**'
+                target: 'deps'
+                do-not-fingerprint: true
       - shell:
-         !include-raw-escape scripts/lttng-ust/build.sh
+         !include-raw-escape: scripts/lttng-ust/build.sh
+
+
+## Templates
+- job-template:
+    name: lttng-ust_{version}_{buildtype}
+    defaults: lttng-ust
+
+    <<: *lttng-ust_build_axes_defaults
+    <<: *lttng-ust_build_builders_defaults
 
     # TODO: Scan for open tasks
     publishers:
       - tap:
-          results: 'tap/**/*.tap'
+          results: 'tap/**/*.log'
+          fail-if-no-results: true
           failed-tests-mark-build-as-failure: true
+          todo-is-failure: false
       - warnings:
           console-log-parsers:
             - 'GNU Make + GNU C Compiler (gcc)'
-          #total-thresholds:
-          #  failed:
-          #    total-all: 0
-          #    total-high: 0
-          #    total-normal: 0
-          #    total-low: 0
+          total-thresholds:
+            unstable:
+              total-all: 0
+              total-high: 0
+              total-normal: 0
+              total-low: 0
       - archive:
-          artifacts: 'build/**'
+          artifacts: 'build/**,tap/**'
           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: dev_gerrit_lttng-ust_{buildtype}
+    defaults: lttng-ust
+    concurrent: true
+
+    scm:
+      - git:
+          url: https://review.lttng.org/lttng-ust
+          refspec: 'refs/changes/*:refs/changes/*'
+          branches:
+            - '$GERRIT_REFSPEC'
+          basedir: src/lttng-ust
+          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-ust'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**'
+          trigger-for-unreviewed-patches: true
+
+    <<: *lttng-ust_build_axes_defaults
+    <<: *lttng-ust_build_builders_defaults
+
+    properties:
+      - inject:
+          properties-content: |
+            PROJECT_NAME=lttng-ust
+      - build-discarder:
+          days-to-keep: 1
+      - throttle:
+          option: 'category'
+          categories:
+            - 'gerrit-{buildtype}'
+
+    publishers:
+      - tap:
+          results: 'tap/**/*.log'
+          fail-if-no-results: true
+          failed-tests-mark-build-as-failure: true
+          todo-is-failure: false
+      - warnings:
+          console-log-parsers:
+            - 'GNU Make + GNU C Compiler (gcc)'
+          total-thresholds:
+            failed:
+              total-all: 0
+              total-high: 0
+              total-normal: 0
+              total-low: 0
+      - archive:
+          artifacts: 'build/**,tap/**'
+          allow-empty: false
+      - workspace-cleanup
 
 - job-template:
     name: lttng-ust_{version}_cppcheck
 
     builders:
       - shell: |
-          rm -f lttng-ust-cppcheck.xml
-          cppcheck --enable=all --xml --xml-version=2 $WORKSPACE 2> lttng-ust-cppcheck.xml
+          rm -f cppcheck-result.xml
+          cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/lttng-ust 2> cppcheck-result.xml
 
     publishers:
       - archive:
-          artifacts: 'lttng-ust-cppcheck.xml'
+          artifacts: 'cppcheck-result.xml'
           allow-empty: false
       - cppcheck:
-          pattern: 'lttng-ust-cppcheck.xml'
+          pattern: 'cppcheck-result.xml'
       - email:
           recipients: 'ci-notification@lists.lttng.org'
           notify-every-unstable-build: true
 - job-template:
     name: lttng-ust_{version}_scan-build
     defaults: lttng-ust
-    node: 'x86-64'
+    node: 'amd64'
 
     triggers:
       - pollscm:
           cron: "@daily"
 
     builders:
+      - copyartifact:
+          project: liburcu_master_build/arch=amd64,conf=std,build=std
+          which-build: last-successful
+          stable: false
+          filter: 'build/**'
+          target: 'deps'
+          do-not-fingerprint: true
       - shell:
-          !include-raw-escape scripts/lttng-ust/scan-build.sh
+          !include-raw-escape: scripts/common/scan-build.sh
 
     publishers:
       - html-publisher:
           dir: 'scan-build-archive/'
           files: 'index.html'
 
-# TODO: lttng-ust_{version}_coverity
-#- job-template:
-#    name: lttng-ust_{version}_coverity
-#    defaults: lttng-ust
-#    node: 'x86-64'
-#
-#    triggers:
-#      - pollscm:
-#          cron: "@daily"
-#
-#    builders:
-#      - shell:
-#          !include-raw-escape scripts/lttng-ust/coverity.sh
-#
-#    publishers:
-#      - html-publisher:
-#          name: 'HTML Report'
-#          dir: 'scan-build-archive/'
-#          files: 'index.html'
-
 - job-template:
-    name: lttng-ust_{version}_pylint
+    name: lttng-ust_{version}_coverity
     defaults: lttng-ust
-    node: 'x86-64'
-
-    scm: []
+    node: 'amd64'
 
     triggers:
       - pollscm:
           cron: "@daily"
 
+    wrappers:
+      - workspace-cleanup
+      - timestamps
+      - ansicolor:
+          colormap: xterm
+      - credentials-binding:
+          - username-password-separated:
+              credential-id: lttng-ust_coverity_token
+              username: COVERITY_SCAN_PROJECT_NAME
+              password: COVERITY_SCAN_TOKEN
+
     builders:
-       - copyartifact:
-           project: lttng-ust-{version}/arch=x86-64,build=std,conf=python-agent
-           which-build: last-successful
-           stable: true
-           filter: 'build/**'
-           target: 'deps/lttng-ust'
-           do-not-fingerprint: true
-       - shell:
-          !include-raw-escape scripts/lttng-ust/pylint.sh
+      - copyartifact:
+          project: liburcu_master_build/arch=amd64,conf=std,build=std
+          which-build: last-successful
+          stable: false
+          filter: 'build/**'
+          target: 'deps'
+          do-not-fingerprint: true
+      - shell:
+          !include-raw-escape: scripts/common/coverity.sh
 
     publishers:
+      - workspace-cleanup
       - archive:
-          artifacts: 'pep8.out,pylint.out'
-      - violations:
-          pep8:
-            pattern: pep8.out
-            min: 10
-            max: 999
-            unstable: 999
-          pylint:
-            pattern: pylint.out
-            min: 10
-            max: 999
-            unstable: 999
-      - email:
-          recipients: 'ci-notification@lists.lttng.org'
-          notify-every-unstable-build: true
-          send-to-individuals: false
+          artifacts: 'analysis-results.tgz,cov-int/**'
+          allow-empty: false
 
 
-## Project
+## Views
+- view-template:
+    name: 'LTTng-ust'
+    view-type: list
+    regex: 'lttng-ust[-_].*'
+
+
+## Projects
 - project:
     name: lttng-ust
+    github_user: lttng
+    github_name: lttng-ust
+    email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
     version:
-      !include jobs/inc/lttng-ust-versions.yaml.inc
+      - stable-2.10
+      - stable-2.11
     jobs:
       - 'lttng-ust_{version}_{buildtype}':
           buildtype: build
-          arch: !!python/tuple [x86-32, x86-64]
-          build: !!python/tuple [std, oot, dist]
+          arch: !!python/tuple [amd64]
+          build: !!python/tuple [std, dist, oot, oot-dist]
+          conf: !!python/tuple [std, agents, debug-rcu]
+          liburcu_version: !!python/tuple [stable-0.9, stable-0.10, stable-0.12, master]
+          filter: '(build=="std") || (liburcu_version=="master")'
       - 'lttng-ust_{version}_{buildtype}':
           buildtype: portbuild
-          arch: !!python/tuple [armhf, powerpc]
+          arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
           build: !!python/tuple [std]
+          conf: !!python/tuple [std, agents]
+          liburcu_version: !!python/tuple [stable-0.9, stable-0.10, stable-0.12, master]
+          filter: ''
+      - 'lttng-ust_{version}_{buildtype}':
+          buildtype: slesbuild
+          arch: !!python/tuple [sles12sp2]
+          build: !!python/tuple [std]
+          conf: !!python/tuple [agents]
+          liburcu_version: !!python/tuple [stable-0.9, stable-0.10, stable-0.12, master]
+          filter: ''
+      - 'lttng-ust_{version}_{buildtype}':
+          buildtype: elbuild
+          arch: !!python/tuple [el8]
+          build: !!python/tuple [std]
+          conf: !!python/tuple [std]
+          liburcu_version: !!python/tuple [stable-0.9, stable-0.10, stable-0.12, master]
+          filter: ''
       - 'lttng-ust_{version}_cppcheck'
       - 'lttng-ust_{version}_scan-build'
 
+      ## Master ##
+      - 'lttng-ust_{version}_{buildtype}':
+          buildtype: build
+          version: master
+          arch: !!python/tuple [amd64]
+          build: !!python/tuple [std, dist, oot, oot-dist]
+          conf: !!python/tuple [std, agents, debug-rcu]
+          liburcu_version: !!python/tuple [stable-0.12, master]
+          filter: '(build=="std") || (liburcu_version=="master")'
+      - 'lttng-ust_{version}_{buildtype}':
+          buildtype: portbuild
+          version: master
+          arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
+          build: !!python/tuple [std]
+          conf: !!python/tuple [std, agents]
+          liburcu_version: !!python/tuple [stable-0.12, master]
+          filter: ''
+      - 'lttng-ust_{version}_{buildtype}':
+          buildtype: slesbuild
+          version: master
+          arch: !!python/tuple [sles12sp2]
+          build: !!python/tuple [std]
+          conf: !!python/tuple [agents]
+          liburcu_version: !!python/tuple [stable-0.12, master]
+          filter: ''
+      - 'lttng-ust_{version}_{buildtype}':
+          buildtype: elbuild
+          version: master
+          arch: !!python/tuple [el8]
+          build: !!python/tuple [std]
+          conf: !!python/tuple [std]
+          liburcu_version: !!python/tuple [stable-0.12, master]
+          filter: ''
+      - 'lttng-ust_{version}_cppcheck':
+          version: master
+      - 'lttng-ust_{version}_scan-build':
+          version: master
+      - 'lttng-ust_{version}_coverity':
+          version: master
+
+      ## Stable 2.12 ##
+      - 'lttng-ust_{version}_{buildtype}':
+          buildtype: build
+          version: stable-2.12
+          arch: !!python/tuple [amd64]
+          build: !!python/tuple [std, dist, oot, oot-dist]
+          conf: !!python/tuple [std, agents, debug-rcu]
+          liburcu_version: !!python/tuple [stable-0.12, master]
+          filter: '(build=="std") || (liburcu_version=="stable-0.12")'
+      - 'lttng-ust_{version}_{buildtype}':
+          buildtype: portbuild
+          version: stable-2.12
+          arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
+          build: !!python/tuple [std]
+          conf: !!python/tuple [std, agents]
+          liburcu_version: !!python/tuple [stable-0.12, master]
+          filter: ''
+      - 'lttng-ust_{version}_{buildtype}':
+          buildtype: slesbuild
+          version: stable-2.12
+          arch: !!python/tuple [sles12sp2]
+          build: !!python/tuple [std]
+          conf: !!python/tuple [agents]
+          liburcu_version: !!python/tuple [stable-0.12, master]
+          filter: ''
+      - 'lttng-ust_{version}_{buildtype}':
+          buildtype: elbuild
+          version: stable-2.12
+          arch: !!python/tuple [el8]
+          build: !!python/tuple [std]
+          conf: !!python/tuple [std]
+          liburcu_version: !!python/tuple [stable-0.12, master]
+          filter: ''
+      - 'lttng-ust_{version}_cppcheck':
+          version: stable-2.12
+      - 'lttng-ust_{version}_scan-build':
+          version: stable-2.12
+
+      ## Stable 2.9 ##
+      - 'lttng-ust_{version}_{buildtype}':
+          buildtype: slesbuild
+          version: stable-2.9
+          arch: !!python/tuple [sles12sp2]
+          build: !!python/tuple [std]
+          conf: !!python/tuple [agents]
+          liburcu_version: !!python/tuple [stable-0.9, stable-0.10, stable-0.12, master]
+          filter: ''
+
+      ## Stable 2.8 ##
+      - 'lttng-ust_{version}_{buildtype}':
+          buildtype: slesbuild
+          version: stable-2.8
+          arch: !!python/tuple [sles12sp2]
+          build: !!python/tuple [std]
+          conf: !!python/tuple [agents]
+          liburcu_version: !!python/tuple [stable-0.9, stable-0.10, stable-0.12, master]
+          filter: ''
+
+
+- project:
+    name: gerrit-lttng-ust
+    github_user: lttng
+    github_name: lttng-ust
+    jobs:
+      - 'dev_gerrit_lttng-ust_{buildtype}':
+          buildtype: build
+          arch: !!python/tuple [amd64]
+          build: !!python/tuple [std, oot, dist, oot-dist]
+          conf: !!python/tuple [std, agents]
+          liburcu_version: !!python/tuple [stable-0.12]
+          filter: ''
+      - 'dev_gerrit_lttng-ust_{buildtype}':
+          buildtype: portbuild
+          arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
+          build: !!python/tuple [std]
+          conf: !!python/tuple [agents]
+          liburcu_version: !!python/tuple [stable-0.12]
+          filter: ''
+
+- project:
+    name: lttng-ust-views
+    views:
+      - LTTng-ust
This page took 0.028658 seconds and 4 git commands to generate.