Fix file paths filtering in release jobs
[releng.git] / jjb / releng / releng-jobs.yaml
index c49d742..bdc97ca 100644 (file)
@@ -5,6 +5,8 @@
       - git:
           url: 'https://gerrit.opnfv.org/gerrit/releng'
           refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
+          submodule:
+            recursive: true
           branches:
             - '{ref}'
 
                 - branch-compare-type: 'ANT'
                   branch-pattern: 'master'
 
+- trigger:
+    name: releng-patchset-merged
+    triggers:
+      - gerrit:
+          trigger-on:
+            - change-merged-event
+            - comment-added-contains-event:
+                comment-contains-value: 'remerge'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: 'releng'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: 'master'
+
 - builder:
-    name: jjb-verify
+    name: releng-jjb-verify
     builders:
       - shell: |
           sudo apt-get -o DPkg::Lock::Timeout=300 update && \
             -o DPkg::Lock::Timeout=300 dist-upgrade -y
           sudo DEBIAN_FRONTEND=noninteractive \
           apt-get -o DPkg::Lock::Timeout=300 install jenkins-job-builder -y
-          jenkins-jobs test --recursive -o /dev/null jjb/
+          jenkins-jobs test --recursive -o tmp jjb/
+          rm -rf tmp
+
+- builder:
+    name: releng-jjb-merge
+    builders:
+      - shell: |
+          sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+          sudo DEBIAN_FRONTEND=noninteractive apt-get \
+            -o DPkg::Lock::Timeout=300 dist-upgrade -y
+          sudo DEBIAN_FRONTEND=noninteractive \
+          apt-get -o DPkg::Lock::Timeout=300 install jenkins-job-builder -y
+          jenkins-jobs update --recursive --delete-old jjb/
 
 - parameter:
-    name: jjb-slave
+    name: releng-jjb-node
     parameters:
       - label:
-          name: slave
-          default: '{slave}'
+          name: node
+          default: '{node}'
 
 - job-template:
-    name: jjb-verify
+    name: releng-jjb-verify
     triggers:
       - releng-patchset-created
     scm:
       - releng-scm:
           ref: $GERRIT_REFSPEC
     parameters:
-      - jjb-slave:
-          slave: lf-virtual1
+      - releng-jjb-node:
+          node: opnfv-build
     builders:
-      - jjb-verify
+      - releng-jjb-verify
 
 - project:
-    name: 'jjb-verify'
+    name: releng-jjb-verify
     jobs:
-      - 'jjb-verify'
+      - releng-jjb-verify
 
+- job-template:
+    name: releng-jjb-merge
+    triggers:
+      - releng-patchset-merged
+    scm:
+      - releng-scm:
+          ref: master
+    parameters:
+      - releng-jjb-node:
+          node: opnfv-build
+    builders:
+      - releng-jjb-merge
 
 - project:
-    name: releng-builder-jobs
-    project: 'releng'
-    project-name: 'releng'
-    jjb-version: '2.5.0'
-    jjb-cache: "$WORKSPACE/.cache/jenkins_jobs"
+    name: releng-jjb-merge
+    jobs:
+      - releng-jjb-merge
+
+- scm:
+    name: opnfv-scm
+    scm:
+      - git:
+          url: 'https://gerrit.opnfv.org/gerrit/{project}'
+          refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
+          submodule:
+            recursive: true
+          branches:
+            - '{ref}'
 
-    build-timeout: 60
+- trigger:
+    name: releng-tox-patchset-created
+    triggers:
+      - gerrit:
+          trigger-on:
+            - patchset-created-event
+            - comment-added-contains-event:
+                comment-contains-value: recheck
+            - comment-added-contains-event:
+                comment-contains-value: reverify
+          server-name: gerrit.opnfv.org
+          projects:
+            - project-compare-type: 'REG_EXP'
+              project-pattern: '^(?!functest).*'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: master
+                - branch-compare-type: 'ANT'
+                  branch-pattern: stable/nile
+                - branch-compare-type: 'ANT'
+                  branch-pattern: stable/moselle
+
+- builder:
+    name: releng-tox
+    builders:
+      - shell: |
+          [ -f tox.ini ] || exit 0
+          sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+          sudo DEBIAN_FRONTEND=noninteractive apt-get \
+            -o DPkg::Lock::Timeout=300 dist-upgrade -y
+          sudo DEBIAN_FRONTEND=noninteractive \
+          apt-get -o DPkg::Lock::Timeout=300 install tox -y
+          tox --recreate
 
-    rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-releng/38594/'
-    rtd-token: '291c6a0109493b4457e566d06141212452c65784'
-    project-pattern: 'releng'
+- parameter:
+    name: releng-tox-node
+    parameters:
+      - label:
+          name: node
+          default: '{node}'
 
+- job-template:
+    name: releng-tox
+    triggers:
+      - releng-tox-patchset-created
+    scm:
+      - opnfv-scm:
+          ref: $GERRIT_REFSPEC
+          project: $GERRIT_PROJECT
+    parameters:
+      - releng-tox-node:
+          node: opnfv-build
+    builders:
+      - releng-tox
+
+- project:
+    name: releng-tox
     jobs:
-      - '{project-name}-ci-jobs'
-      - '{project-name}-rtd-jobs'
+      - releng-tox
+
+- project:
+    name: releng-release-jobs
+    stream:
+      - fraser
+      - gambia
+      - hunter
+      - iruya
+      - jerma
+      - kali
+      - leguer
+      - lakelse
+      - moselle
+      - v1.21
+      - v1.22
+      - v1.23
+      - v1.24
+      - v1.25
+      - xena
+      - wallaby
+      - yoga
+      - zed
+    jobs:
+      - 'releng-release-{stream}-verify'
+      - 'releng-release-{stream}-merge'
+
+- job-template:
+    name: 'releng-release-{stream}-verify'
+    scm:
+      - releng-scm:
+          ref: $GERRIT_REFSPEC
+    parameters:
+      - releng-jjb-node:
+          node: opnfv-build
+    triggers:
+      - gerrit:
+          server-name: 'gerrit.opnfv.org'
+          trigger-on:
+            - patchset-created-event:
+                exclude-drafts: 'false'
+                exclude-trivial-rebase: 'false'
+                exclude-no-code-change: 'false'
+            - comment-added-contains-event:
+                comment-contains-value: 'recheck'
+            - comment-added-contains-event:
+                comment-contains-value: 'reverify'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: 'releng'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/master'
+              file-paths:
+                - compare-type: ANT
+                  pattern: 'releases/{stream}/**'
+                - compare-type: ANT
+                  pattern: 'releases/schema.yaml'
+                - compare-type: ANT
+                  pattern: 'releases/scripts/verify_schema.py'
+    builders:
+      - shell: |
+          sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+          sudo DEBIAN_FRONTEND=noninteractive apt-get \
+            -o DPkg::Lock::Timeout=300 dist-upgrade -y
+          sudo DEBIAN_FRONTEND=noninteractive \
+          apt-get -o DPkg::Lock::Timeout=300 install python3-pygerrit2 \
+            python3-ruamel.yaml  -y
+      - shell: !include-raw-escape:
+          - branch-or-tag.sh
+
+- job-template:
+    name: 'releng-release-{stream}-merge'
+    triggers:
+      - releng-patchset-merged
+    scm:
+      - releng-scm:
+          ref: master
+    parameters:
+      - releng-jjb-node:
+          node: opnfv-build
+    triggers:
+      - gerrit:
+          trigger-on:
+            - change-merged-event
+            - comment-added-contains-event:
+                comment-contains-value: 'remerge'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: 'releng'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: 'master'
+              file-paths:
+                - compare-type: ANT
+                  pattern: 'releases/{stream}/**'
+    builders:
+      - shell: |
+          sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+          sudo DEBIAN_FRONTEND=noninteractive apt-get \
+            -o DPkg::Lock::Timeout=300 dist-upgrade -y
+          sudo DEBIAN_FRONTEND=noninteractive \
+          apt-get -o DPkg::Lock::Timeout=300 install python3-pygerrit2 \
+            python3-ruamel.yaml  -y
+      - shell: !include-raw-escape:
+          - branch-or-tag.sh