######################
- job-template:
- name: "{project-name}-gerrit-branch-lock-{stream}"
+ name: "{project-name}-gerrit-branch-lock"
id: gerrit-branch-lock
######################
# Default parameters #
######################
- branch: master
+ branch: "**"
disable-job: false
git-url: "$GIT_URL/$GERRIT_PROJECT"
- stream: master
submodule-timeout: 10
- submodule-disable: false
+ submodule-disable: true
gerrit_merge_triggers:
- comment-added-contains-event:
comment-contains-value: (un)?lock branch$
parameters:
- lf-infra-parameters:
project: "{project}"
- stream: "{stream}"
+ stream: ""
branch: "{branch}"
wrappers:
- lf-infra-gerrit-scm:
git-url: "{git-url}"
refspec: ""
- branch: "{branch}"
+ branch: "$GERRIT_BRANCH"
submodule-recursive: false
submodule-timeout: "{submodule-timeout}"
submodule-disable: "{submodule-disable}"
trigger-on: "{obj:gerrit_merge_triggers}"
projects:
- project-compare-type: ANT
- project-pattern: "{project}"
+ project-pattern: "**"
branches:
- branch-compare-type: ANT
branch-pattern: "**/{branch}"
builders:
- lf-infra-jjbini
- shell: !include-raw-escape:
- - ../shell/jjb-install.sh
- ../shell/jenkins-sandbox-cleanup.sh
- - ../shell/jjb-cleanup.sh
- job-template:
name: "{project-name}-jenkins-sandbox-cleanup"
project: "{project}"
stream: "{stream}"
branch: "{branch}"
+ - lf-infra-jjb-parameters:
+ jjb-cache: "{jjb-cache}"
+ jjb-version: "{jjb-version}"
wrappers:
- lf-infra-wrappers:
jenkins-ssh-credential: "{jenkins-ssh-credential}"
builders:
- - lf-pip-install:
- pip-packages: jenkins-job-builder
- lf-infra-jjbini
- shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
- 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:
- 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:
- inject:
properties-content: JJB_WORKERS={jjb-workers}
- shell: !include-raw-escape:
- - ../shell/jjb-install.sh
- ../shell/jjb-merge-job.sh
- - ../shell/jjb-cleanup.sh
- job-template:
name: "{project-name}-jjb-merge"
######################
build-concurrent: true
+ build-node-label-check: false
+ build-node-label-list: ""
gerrit_verify_triggers:
- patchset-created-event:
- lf-infra-jjbini
- shell: !include-raw-escape:
- ../shell/jjb-verify-job.sh
+ - conditional-step:
+ condition-kind: boolean-expression
+ condition-expression: "{build-node-label-check}"
+ on-evaluation-failure: dont-run
+ steps:
+ - inject:
+ properties-content: EXTERNAL_LABELS="{build-node-label-list}"
+ - shell: !include-raw-escape:
+ - ../shell/jjb-verify-build-nodes.sh
- lf-infra-gpg-verify-git-signature
- job-template:
- lf-infra-jjbini
- shell: !include-raw-escape:
- ../shell/jjb-verify-job.sh
- - lf-infra-gpg-verify-git-signature
+
+ # All jobs are triggering from the same source
+ 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/global-jjb"
+ branches:
+ - branch-compare-type: ANT
+ branch-pattern: "**/master"
+ override-votes: true
+ gerrit-build-failed-codereview-value: -1
+ gerrit-build-failed-verified-value: 0
+ gerrit-build-successful-codereview-value: 1
+ gerrit-build-successful-verified-value: 0
- job-template:
name: "{project-name}-jjb-verify-upstream-gjjb"
choosing-strategy: default
jenkins-ssh-credential: "{jenkins-ssh-credential}"
- triggers:
- - gerrit:
- server-name: "LinuxFoundation"
- 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/global-jjb"
- branches:
- - branch-compare-type: ANT
- branch-pattern: "**/master"
- override-votes: true
- gerrit-build-failed-codereview-value: -1
- gerrit-build-failed-verified-value: 0
- gerrit-build-successful-codereview-value: 1
- gerrit-build-successful-verified-value: 0
+- job-template:
+ name: "{project-name}-jjb-verify-upstream-gjjb"
+ id: github-jjb-verify-upstream-gjjb
+ <<: *lf_jjb_common
+ # yamllint disable-line rule:key-duplicates
+ <<: *lf_jjb_verify_upstream_gjjb
+
+ ######################
+ # Default parameters #
+ ######################
+
+ git-url: "$GIT_URL/$PROJECT"
+ submodule-timeout: 10
+ submodule-disable: false
+
+ #####################
+ # Job Configuration #
+ #####################
+
+ properties:
+ - lf-infra-properties:
+ project: "{project}"
+ build-days-to-keep: 7
+ - github:
+ url: "{github-url}/{github-org}/{project}"
+
+ scm:
+ - lf-infra-github-scm:
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
+ choosing-strategy: default
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
#################
# License Check #
white-list-target-branches:
- "{branch}"
+- job-template:
+ name: "{project-name}-packer-verify-build-{platforms}-{templates}"
+ id: gerrit-packer-verify-build
+ <<: *lf_packer_common
+ # yamllint disable-line rule:key-duplicates
+ <<: *lf_packer_merge
+
+ ######################
+ # Default parameters #
+ ######################
+
+ git-url: "$GIT_URL/$GERRIT_PROJECT"
+
+ gerrit_verify_triggers:
+ - comment-added-contains-event:
+ comment-contains-value: '^Patch Set\s+\d+:\s+(verify-build|packer-build)\s*$'
+
+ #####################
+ # Job Configuration #
+ #####################
+
+ 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}"
+
+ triggers:
+ - gerrit:
+ server-name: "{gerrit-server-name}"
+ trigger-on: "{obj:gerrit_verify_triggers}"
+ projects:
+ - project-compare-type: ANT
+ project-pattern: "{project}"
+ branches:
+ - branch-compare-type: ANT
+ branch-pattern: "**/{branch}"
+ file-paths:
+ - compare-type: REG_EXP
+ pattern: 'packer\/provision\/.*\.sh'
+ - compare-type: REG_EXP
+ pattern: 'packer\/provision\/.*\.bat'
+ - compare-type: REG_EXP
+ pattern: 'packer\/provision\/.*\.ps1'
+ - compare-type: REG_EXP
+ pattern: 'packer\/provision\/{templates}\.yaml'
+ - compare-type: REG_EXP
+ pattern: 'packer\/provision\/local-{templates}\.yaml'
+ - compare-type: REG_EXP
+ pattern: 'packer\/templates\/{templates}\.json'
+ - compare-type: REG_EXP
+ pattern: 'packer\/vars\/{platforms}\.json'
+
+- job-template:
+ name: "{project-name}-packer-verify-build-{platforms}-{templates}"
+ id: github-packer-verify-build
+ <<: *lf_packer_common
+ # yamllint disable-line rule:key-duplicates
+ <<: *lf_packer_merge
+
+ #####################
+ # Job Configuration #
+ #####################
+
+ properties:
+ - lf-infra-properties:
+ project: "{project}"
+ build-days-to-keep: 7
+ - github:
+ url: "{github-url}/{github-org}/{project}"
+
+ scm:
+ - lf-infra-github-scm:
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ submodule-recursive: "{submodule-recursive}"
+ submodule-timeout: "{submodule-timeout}"
+ submodule-disable: "{submodule-disable}"
+ choosing-strategy: default
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+
+ triggers:
+ - github-pull-request:
+ trigger-phrase: "^(verify-build|packer-build)$"
+ only-trigger-phrase: true
+ status-context: "Packer {platforms}-{templates} Verify Build"
+ permit-all: true
+ github-hooks: true
+ white-list-target-branches:
+ - "{branch}"
+ # included-regions MUST match Gerrit Trigger file-paths
+ included-regions:
+ - 'packer\/provision\/.*\.sh'
+ - 'packer\/provision\/.*\.bat'
+ - 'packer\/provision\/.*\.ps1'
+ - 'packer\/provision\/{templates}\.yaml'
+ - 'packer\/provision\/local-{templates}\.yaml'
+ - 'packer\/templates\/{templates}\.json'
+ - 'packer\/vars\/{platforms}\.json'
+
#################
# Packer Verify #
#################
sonar-java-opts: "{sonar-java-opts}"
sonar-additional-args: "{sonar-additional-args}"
+- lf_sonar_builders_prescan_script: &lf_sonar_builders_prescan_script
+ name: lf-sonar-builders-prescan-script
+ builders:
+ - lf-infra-pre-build
+ - shell: "{sonar-prescan-script}"
+ - lf-infra-sonar:
+ sonar-task: "{sonar-task}"
+ sonar-project-file: "{sonar-project-file}"
+ sonar-properties: "{sonar-properties}"
+ sonar-java-opts: "{sonar-java-opts}"
+ sonar-additional-args: "{sonar-additional-args}"
+
- lf_sonar_gerrit_common: &lf_sonar_gerrit_common
name: lf-sonar-gerrit-common
gerrit_sonar_triggers:
<<: *lf_sonar_builders_prescan
# yamllint disable-line rule:key-duplicates
<<: *lf_sonar_github_common
+
+- job-template:
+ name: "{project-name}-sonar-prescan-script"
+ id: gerrit-sonar-prescan-script
+ <<: *lf_sonar_common
+ # yamllint disable-line rule:key-duplicates
+ <<: *lf_sonar_builders_prescan_script
+ # yamllint disable-line rule:key-duplicates
+ <<: *lf_sonar_gerrit_common
+
+- job-template:
+ name: "{project-name}-sonar-prescan-script"
+ id: github-sonar-prescan-script
+ <<: *lf_sonar_common
+ # yamllint disable-line rule:key-duplicates
+ <<: *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