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.8.2
#####################
# Job Configuration #
disable-job: false
github-url: "https://github.com"
jjb-cache: "$HOME/.cache/jenkins_jobs"
- jjb-version: 2.8.0
+ jjb-version: 4.1.0
stream: master
submodule-recursive: true
submodule-timeout: 10
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:
- lf-infra-pre-build
- inject:
properties-content: OS_CLOUD={openstack-cloud}
+ # K8s Clusters
+ - conditional-step:
+ condition-kind: boolean-expression
+ condition-expression: "{openstack-stack-cleanup}"
+ steps:
+ - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-k8s-clusters.sh
# Stacks
- conditional-step:
condition-kind: boolean-expression
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