Chore!: Rename 'whitelist' to 'allowlist'
[releng/global-jjb.git] / jjb / lf-ci-jobs.yaml
index 9c62d97..7759168 100644 (file)
@@ -28,8 +28,9 @@
     submodule-recursive: true
     submodule-timeout: 10
     submodule-disable: false
+    packer-builder: openstack
     packer-cloud-settings: packer-cloud-env
-    packer-version: 1.4.2
+    packer-version: 1.6.6
 
     #####################
     # Job Configuration #
               branches:
                 - branch-compare-type: ANT
                   branch-pattern: "**/{branch}"
+          comment-text-parameter-mode: PLAIN
 
     builders:
       - shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
           github-hooks: true
           org-list:
             - "{github-org}"
-          white-list: "{obj:github_pr_whitelist}"
+          white-list: "{obj:github_pr_allowlist}"
           admin-list: "{obj:github_pr_admin_list}"
           included-regions: "{obj:github_included_regions}"
           white-list-target-branches:
           project: "{project}"
           stream: "{stream}"
           branch: "{branch}"
+      - lf-infra-jjb-parameters:
+          jjb-cache: "{jjb-cache}"
+          jjb-version: "{jjb-version}"
 
     wrappers:
       - lf-infra-wrappers:
 - job-template:
     name: "{project-name}-jjb-deploy-job"
     id: gerrit-jjb-deploy-job
+    <<: *lf_jjb_common
+    # yamllint disable-line rule:key-duplicates
     <<: *lf_jjb_deploy_job
 
     scm:
                 - branch-compare-type: ANT
                   branch-pattern: "**"
           skip-vote:
-            success: true
+            successful: true
             failed: true
             unstable: true
             notbuilt: true
+          comment-text-parameter-mode: PLAIN
 
 - job-template:
     name: "{project-name}-jjb-deploy-job"
     id: github-jjb-deploy-job
+    <<: *lf_jjb_common
+    # yamllint disable-line rule:key-duplicates
     <<: *lf_jjb_deploy_job
 
     properties:
           github-hooks: true
           org-list:
             - "{github-org}"
-          white-list: "{obj:github_pr_whitelist}"
+          white-list: "{obj:github_pr_allowlist}"
           admin-list: "{obj:github_pr_admin_list}"
           included-regions: "{obj:github_included_regions}"
           white-list-target-branches:
 
     publishers:
       - lf-infra-publish
+      - global-jjb-email-notification:
+          email-recipients: "{failure-notification}"
+          email-prefix: "{failure-notification-prefix}"
 
 - job-template:
     name: "{project-name}-openstack-cron"
       - lf-infra-packer-build:
           openstack: "{openstack}"
           openstack-cloud: "{openstack-cloud}"
+          packer-builder: "{packer-builder}"
           packer-cloud-settings: "{packer-cloud-settings}"
           packer-version: "{packer-version}"
           platform: "{platforms}"
       - description-setter:
           regexp: '(\s+.*)(ZZCI\s+.*\d+-\d+\.\d+)'
           description: 'Image: \2'
-      # - trigger-builds:
-      #     - project: '{project-name}-openstack-update-cloud-image'
-      #       block: false
-      #       predefined-parameters: |
-      #         GERRIT_BRANCH=$GERRIT_BRANCH
-      #         GERRIT_PROJECT=$GERRIT_PROJECT
-      #         GERRIT_REFSPEC=$GERRIT_REFSPEC
-      #         NEW_IMAGE_NAME=$NEW_IMAGE_NAME
-      #       property-file: variables.jenkins-trigger
-      #       property-file-fail-on-missing: true
 
     publishers:
       - lf-infra-publish
                   pattern: 'packer\/templates\/{templates}\.json'
                 - compare-type: REG_EXP
                   pattern: 'packer\/vars\/{platforms}\.json'
+                - compare-type: REG_EXP
+                  pattern: 'packer\/common-packer\/provision\/{templates}\.yaml'
+                - compare-type: REG_EXP
+                  pattern: 'packer\/common-packer\/provision\/local-{templates}\.yaml'
+                - compare-type: REG_EXP
+                  pattern: 'packer\/common-packer\/templates\/{templates}\.json'
+                - compare-type: REG_EXP
+                  pattern: 'packer\/common-packer\/vars\/{platforms}\.json'
 
 - job-template:
     name: "{project-name}-packer-merge-{platforms}-{templates}"
           github-hooks: true
           org-list:
             - "{github-org}"
-          white-list: "{obj:github_pr_whitelist}"
+          white-list: "{obj:github_pr_allowlist}"
           admin-list: "{obj:github_pr_admin_list}"
           # included-regions MUST match Gerrit Trigger file-paths
           included-regions:
             - 'packer\/provision\/local-{templates}\.yaml'
             - 'packer\/templates\/{templates}\.json'
             - 'packer\/vars\/{platforms}\.json'
+            - 'packer\/common-packer\/provision\/{templates}\.yaml'
+            - 'packer\/common-packer\/provision\/local-{templates}\.yaml'
+            - 'packer\/common-packer\/templates\/{templates}\.json'
+            - 'packer\/common-packer\/vars\/{platforms}\.json'
+
           white-list-target-branches:
             - "{branch}"
 
                   pattern: 'packer\/templates\/{templates}\.json'
                 - compare-type: REG_EXP
                   pattern: 'packer\/vars\/{platforms}\.json'
+                - compare-type: REG_EXP
+                  pattern: 'packer\/common-packer\/provision\/{templates}\.yaml'
+                - compare-type: REG_EXP
+                  pattern: 'packer\/common-packer\/provision\/local-{templates}\.yaml'
+                - compare-type: REG_EXP
+                  pattern: 'packer\/common-packer\/templates\/{templates}\.json'
+                - compare-type: REG_EXP
+                  pattern: 'packer\/common-packer\/vars\/{platforms}\.json'
 
 - job-template:
     name: "{project-name}-packer-verify-build-{platforms}-{templates}"
             - 'packer\/provision\/local-{templates}\.yaml'
             - 'packer\/templates\/{templates}\.json'
             - 'packer\/vars\/{platforms}\.json'
+            - 'packer\/common-packer\/vars\/{platforms}\.json'
+            - 'packer\/common-packer\/provision\/{templates}\.yaml'
+            - 'packer\/common-packer\/provision\/local-{templates}\.yaml'
+            - 'packer\/common-packer\/templates\/{templates}\.json'
 
 #################
 # Packer Verify #
     disable-job: false
     git-url: "$GIT_URL/$PROJECT"
     github-url: "https://github.com"
+    sonarcloud-java-version: openjdk11
     stream: master
     submodule-recursive: true
     submodule-timeout: 10
     name: lf-sonar-builders
     builders:
       - lf-infra-pre-build
+      - lf-update-java-alternatives:
+          java-version: "{sonarcloud-java-version}"
       - lf-infra-sonar:
           sonar-task: "{sonar-task}"
           sonar-project-file: "{sonar-project-file}"
     name: lf-sonar-builders-prescan
     builders:
       - lf-infra-pre-build
+      - lf-update-java-alternatives:
+          java-version: "{sonarcloud-java-version}"
       - lf-infra-sonar-with-prescan:
           sonar-task: "{sonar-task}"
           sonar-project-file: "{sonar-project-file}"
     name: lf-sonar-builders-prescan-script
     builders:
       - lf-infra-pre-build
+      - lf-update-java-alternatives:
+          java-version: "{sonarcloud-java-version}"
       - shell: "{sonar-prescan-script}"
       - lf-infra-sonar:
           sonar-task: "{sonar-task}"
     <<: *lf_sonar_builders_prescan_script
     # yamllint disable-line rule:key-duplicates
     <<: *lf_sonar_github_common
+
+#############
+# Pipelines #
+#############
+
+- lf_pipelines_common: &lf_pipelines_common
+    name: lf-pipelines-common
+
+    ######################
+    # Default parameters #
+    ######################
+
+    branch: master
+    build-timeout: 90
+    disable-job: false
+    stream: master
+    submodule-recursive: true
+    submodule-timeout: 10
+    submodule-disable: false
+
+- lf_global_pipelines_common: &lf_global_pipelines_common
+    name: lf-global-pipelines-common
+
+    # All jobs are triggering from the same source
+    git-url: https://gerrit.linuxfoundation.org/infra/releng/pipelines
+    triggers:
+      - gerrit:
+          server-name: "lf-releng"
+          trigger-on:
+            - patchset-created-event:
+                exclude-drafts: true
+                exclude-trivial-rebase: false
+                exclude-no-code-change: false
+            - draft-published-event
+            - comment-added-contains-event:
+                comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
+          projects:
+            - project-compare-type: ANT
+              project-pattern: "releng/pipelines"
+              branches:
+                - branch-compare-type: ANT
+                  branch-pattern: "**/master"
+
+- job-template:
+    name: "lf-pipelines-verify"
+    id: lf-pipelines-verify
+    <<: *lf_pipelines_common
+    <<: *lf_global_pipelines_common
+
+    project-type: pipeline
+    pipeline-scm:
+      scm:
+        - lf-infra-gerrit-scm:
+            git-url: "{git-url}"
+            refspec: "$GERRIT_REFSPEC"
+            branch: "$GERRIT_BRANCH"
+            submodule-recursive: "{submodule-recursive}"
+            submodule-timeout: "{submodule-timeout}"
+            submodule-disable: "{submodule-disable}"
+            choosing-strategy: gerrit
+            jenkins-ssh-credential: "{jenkins-ssh-credential}"
+    sandbox: true