10 - config-file-provider:
13 target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
16 name: lf-infra-jjbini-sandbox
17 # TODO: Consolidate this into jjbini when JJB2.0 is available.
19 - config-file-provider:
21 - file-id: jjbini-sandbox
22 target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
24 - lf_packer: &lf_packer_common
25 name: lf-packer-common
26 # Provide configuration common in packer jobs.
28 ######################
29 # Default parameters #
30 ######################
36 github-url: 'https://github.com'
38 submodule-recursive: true
40 packer-cloud-settings: packer-cloud-env
47 project-type: freestyle
49 disabled: '{disable-job}'
52 - lf-infra-properties:
57 - lf-infra-parameters:
61 lftools-version: '{lftools-version}'
62 - lf-packer-parameters:
63 packer-version: '{packer-version}'
67 build-timeout: '{build-timeout}'
68 jenkins-ssh-credential: '{jenkins-ssh-credential}'
74 name: lf-infra-jjb-parameters
78 default: '{jjb-version}'
79 description: Jenkins Job Builder version to download and install.
82 default: '{jjb-cache}'
83 description: Jenkins Job Builder cache location.
86 name: lf-packer-parameters
90 default: '{packer-version}'
91 description: Packer version to download and install.
93 - lf_jjb_common: &lf_jjb_common
96 ######################
97 # Default parameters #
98 ######################
103 github-url: 'https://github.com'
104 jjb-cache: '$HOME/.cache/jenkins_jobs'
107 submodule-recursive: true
108 submodule-timeout: 10
110 gerrit_trigger_file_paths:
111 - compare-type: REG_EXP
113 - compare-type: REG_EXP
114 pattern: 'global-jjb'
115 - compare-type: REG_EXP
118 # github_included_regions MUST match gerrit_trigger_file_paths
119 github_included_regions:
124 #####################
125 # Job Configuration #
126 #####################
128 project-type: freestyle
130 disabled: '{disable-job}'
133 - lf-infra-properties:
135 build-days-to-keep: 7
138 - lf-infra-parameters:
142 lftools-version: '{lftools-version}'
143 - lf-infra-jjb-parameters:
144 jjb-cache: '{jjb-cache}'
145 jjb-version: '{jjb-version}'
149 build-timeout: '{build-timeout}'
150 jenkins-ssh-credential: '{jenkins-ssh-credential}'
155 ######################
156 # Gerrit Branch Lock #
157 ######################
160 name: '{project-name}-gerrit-branch-lock-{stream}'
161 id: gerrit-branch-lock
163 ######################
164 # Default parameters #
165 ######################
169 git-url: '$GIT_URL/$GERRIT_PROJECT'
171 submodule-timeout: 10
172 gerrit_merge_triggers:
173 - comment-added-contains-event:
174 comment-contains-value: (un)?lock branch$
176 #####################
177 # Job Configuration #
178 #####################
180 project-type: freestyle
182 disabled: '{disable-job}'
185 - lf-infra-properties:
187 build-days-to-keep: 1
190 - lf-infra-parameters:
194 lftools-version: '{lftools-version}'
199 jenkins-ssh-credential: '{jenkins-ssh-credential}'
202 - lf-infra-gerrit-scm:
206 submodule-recursive: false
207 submodule-timeout: '{submodule-timeout}'
208 choosing-strategy: default
209 jenkins-ssh-credential: '{jenkins-ssh-credential}'
213 server-name: '{gerrit-server-name}'
214 trigger-on: '{obj:gerrit_merge_triggers}'
216 - project-compare-type: ANT
217 project-pattern: '{project}'
219 - branch-compare-type: ANT
220 branch-pattern: '**/{branch}'
223 - shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
229 ##########################################
230 # Jenkins Configuration Management Merge #
231 ##########################################
234 name: lf-jenkins-cfg-clouds
238 properties-content: 'jenkins_silos={jenkins-silos}'
239 - shell: !include-raw-escape: ../shell/jenkins-configure-clouds.sh
240 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
243 name: lf-jenkins-cfg-global-vars
247 properties-content: 'jenkins_silos={jenkins-silos}'
248 - shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
249 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
251 - lf_jenkins_configuration: &lf_jenkins_cfg_merge
252 name: lf-jenkins-cfg-merge
254 ######################
255 # Default parameters #
256 ######################
261 git-url: '$GIT_URL/$GERRIT_PROJECT'
262 github-url: 'https://github.com'
263 jenkins-silos: production sandbox
264 submodule-timeout: 10
266 gerrit_merge_triggers:
267 - change-merged-event
268 - comment-added-contains-event:
269 comment-contains-value: remerge$
271 gerrit_trigger_file_paths:
272 - compare-type: REG_EXP
273 pattern: 'jenkins-config\/.*'
275 # github_included_regions MUST match gerrit_trigger_file_paths
276 github_included_regions:
277 - 'jenkins-config\/.*'
279 #####################
280 # Job Configuration #
281 #####################
283 project-type: freestyle
286 disabled: '{disable-job}'
289 - lf-infra-properties:
291 build-days-to-keep: 1
294 - lf-infra-parameters:
298 lftools-version: '{lftools-version}'
303 jenkins-ssh-credential: '{jenkins-ssh-credential}'
307 - lf-jenkins-cfg-global-vars:
308 jenkins-silos: '{jenkins-silos}'
309 - lf-jenkins-cfg-clouds:
310 jenkins-silos: '{jenkins-silos}'
316 name: '{project-name}-jenkins-cfg-merge'
317 id: gerrit-jenkins-cfg-merge
318 <<: *lf_jenkins_cfg_merge
321 - lf-infra-gerrit-scm:
323 refspec: 'refs/heads/{branch}'
325 submodule-recursive: true
326 submodule-timeout: '{submodule-timeout}'
327 choosing-strategy: default
328 jenkins-ssh-credential: '{jenkins-ssh-credential}'
331 - timed: '{obj:cron}'
333 server-name: '{gerrit-server-name}'
334 trigger-on: '{obj:gerrit_merge_triggers}'
336 - project-compare-type: ANT
337 project-pattern: '{project}'
339 - branch-compare-type: ANT
340 branch-pattern: '**/{branch}'
341 file-paths: '{obj:gerrit_trigger_file_paths}'
344 name: '{project-name}-jenkins-cfg-merge'
345 id: github-jenkins-cfg-merge
346 <<: *lf_jenkins_cfg_merge
349 - lf-infra-properties:
351 build-days-to-keep: 1
353 url: '{github-url}/{github-org}/{project}'
356 - lf-infra-github-scm:
357 url: '{git-clone-url}{github-org}/{project}'
359 branch: 'refs/heads/{branch}'
360 submodule-recursive: true
361 submodule-timeout: '{submodule-timeout}'
362 choosing-strategy: default
363 jenkins-ssh-credential: '{jenkins-ssh-credential}'
366 - timed: '{obj:cron}'
370 - github-pull-request:
371 trigger-phrase: '^remerge$'
372 only-trigger-phrase: true
373 status-context: 'Jenkins CFG Merge'
378 white-list: '{obj:github_pr_whitelist}'
379 admin-list: '{obj:github_pr_admin_list}'
380 included-regions: '{obj:github_included_regions}'
381 white-list-target-branches:
384 ###########################################
385 # Jenkins Configuration Management Verify #
386 ###########################################
388 - lf_jenkins_configuration: &lf_jenkins_cfg_verify
389 name: lf-jenkins-cfg-verify
391 ######################
392 # Default parameters #
393 ######################
396 build-days-to-keep: 7
398 git-url: '$GIT_URL/$GERRIT_PROJECT'
399 github-url: 'https://github.com'
401 submodule-timeout: 10
403 gerrit_verify_triggers:
404 - patchset-created-event:
406 exclude-trivial-rebase: false
407 exclude-no-code-change: false
408 - draft-published-event
409 - comment-added-contains-event:
410 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
412 gerrit_trigger_file_paths:
413 - compare-type: REG_EXP
414 pattern: 'jenkins-config\/.*'
416 # github_included_regions MUST match gerrit_trigger_file_paths
417 github_included_regions:
418 - 'jenkins-config\/.*'
420 #####################
421 # Job Configuration #
422 #####################
424 project-type: freestyle
427 disabled: '{disable-job}'
430 - lf-infra-properties:
432 build-days-to-keep: 1
435 - lf-infra-parameters:
439 lftools-version: '{lftools-version}'
444 jenkins-ssh-credential: '{jenkins-ssh-credential}'
445 - config-file-provider:
446 # Listed after to override openstack-infra-wrappers clouds.yaml
449 - file-id: clouds-yaml
450 target: '$HOME/.config/openstack/clouds.yaml'
452 target: '$HOME/.npmrc'
454 target: '$HOME/.config/pip/pip.conf'
459 properties-content: OS_CLOUD={openstack-cloud}
460 - shell: !include-raw-escape: ../shell/jenkins-verify-images.sh
466 name: '{project-name}-jenkins-cfg-verify'
467 id: gerrit-jenkins-cfg-verify
468 <<: *lf_jenkins_cfg_verify
471 - lf-infra-gerrit-scm:
473 refspec: 'refs/heads/{branch}'
475 submodule-recursive: true
476 submodule-timeout: '{submodule-timeout}'
477 choosing-strategy: default
478 jenkins-ssh-credential: '{jenkins-ssh-credential}'
482 server-name: '{gerrit-server-name}'
483 trigger-on: '{obj:gerrit_verify_triggers}'
485 - project-compare-type: ANT
486 project-pattern: '{project}'
488 - branch-compare-type: ANT
489 branch-pattern: '**/{branch}'
490 file-paths: '{obj:gerrit_trigger_file_paths}'
493 name: '{project-name}-jenkins-cfg-verify'
494 id: github-jenkins-cfg-verify
495 <<: *lf_jenkins_cfg_verify
499 url: '{github-url}/{github-org}/{project}'
502 - lf-infra-github-scm:
503 url: '{git-clone-url}{github-org}/{project}'
504 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
506 submodule-recursive: '{submodule-recursive}'
507 submodule-timeout: '{submodule-timeout}'
508 choosing-strategy: default
509 jenkins-ssh-credential: '{jenkins-ssh-credential}'
512 - github-pull-request:
513 trigger-phrase: '^(recheck|reverify)$'
514 only-trigger-phrase: false
515 status-context: 'Jenkins CFG Verify'
518 included-regions: '{obj:github_included_regions}'
519 white-list-target-branches:
522 ###########################
523 # JENKINS SANDBOX CLEANUP #
524 ###########################
526 - lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
527 name: lf-jenkins-sandbox-cleanup
529 ######################
530 # Default parameters #
531 ######################
534 # Run every Saturday at 08:00 UTC
538 #####################
539 # Job Configuration #
540 #####################
542 project-type: freestyle
545 disabled: '{disable-job}'
548 - lf-infra-jjb-parameters:
549 jjb-cache: '{jjb-cache}'
550 jjb-version: '{jjb-version}'
553 - timed: '{obj:cron}'
557 - shell: !include-raw-escape:
558 - ../shell/jjb-install.sh
559 - ../shell/jenkins-sandbox-cleanup.sh
560 - ../shell/jjb-cleanup.sh
563 name: '{project-name}-jenkins-sandbox-cleanup'
564 id: gerrit-jenkins-sandbox-cleanup
566 # yamllint disable-line rule:key-duplicates
567 <<: *lf_jenkins_sandbox_cleanup
570 name: '{project-name}-jenkins-sandbox-cleanup'
571 id: github-jenkins-sandbox-cleanup
573 # yamllint disable-line rule:key-duplicates
574 <<: *lf_jenkins_sandbox_cleanup
581 - lf_jjb_deploy_job: &lf_jjb_deploy_job
582 name: lf-jjb-deploy-job
584 ######################
585 # Default parameters #
586 ######################
590 # jjb-deploy should always clone $PROJECT regardless of what
591 # $GERRIT_PROJECT triggered the job.
592 git-url: '$GIT_URL/$PROJECT'
593 github-url: 'https://github.com'
595 submodule-timeout: 10
596 gerrit_jjb_deploy_job_triggers:
597 - comment-added-contains-event:
598 comment-contains-value: 'jjb-deploy[:]* (?!\*+$).+$'
600 #####################
601 # Job Configuration #
602 #####################
604 project-type: freestyle
607 disabled: '{disable-job}'
610 - lf-infra-properties:
612 build-days-to-keep: 1
615 - lf-infra-parameters:
619 lftools-version: '{lftools-version}'
624 jenkins-ssh-credential: '{jenkins-ssh-credential}'
628 pip-packages: jenkins-job-builder
629 - lf-infra-jjbini-sandbox
630 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
636 name: '{project-name}-jjb-deploy-job'
637 id: gerrit-jjb-deploy-job
638 <<: *lf_jjb_deploy_job
641 - lf-infra-gerrit-scm:
643 refspec: 'refs/heads/{branch}'
645 submodule-recursive: true
646 submodule-timeout: '{submodule-timeout}'
647 choosing-strategy: default
648 jenkins-ssh-credential: '{jenkins-ssh-credential}'
652 server-name: '{gerrit-server-name}'
653 trigger-on: '{obj:gerrit_jjb_deploy_job_triggers}'
655 - project-compare-type: ANT
656 project-pattern: '**'
658 - branch-compare-type: ANT
667 name: '{project-name}-jjb-deploy-job'
668 id: github-jjb-deploy-job
669 <<: *lf_jjb_deploy_job
672 - lf-infra-properties:
674 build-days-to-keep: 1
676 url: '{github-url}/{github-org}/{project}'
679 - lf-infra-github-scm:
680 url: '{git-clone-url}{github-org}/{project}'
681 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
683 submodule-recursive: true
684 submodule-timeout: '{submodule-timeout}'
685 choosing-strategy: default
686 jenkins-ssh-credential: '{jenkins-ssh-credential}'
689 - github-pull-request:
690 trigger-phrase: '^jjb-deploy (?!\*+$).+$'
691 only-trigger-phrase: true
692 status-context: 'JJB Deploy Job'
695 white-list-target-branches:
702 - lf_jjb_merge: &lf_jjb_merge
705 ######################
706 # Default parameters #
707 ######################
709 gerrit_merge_triggers:
710 - change-merged-event
711 - comment-added-contains-event:
712 comment-contains-value: remerge$
714 #####################
715 # Job Configuration #
716 #####################
721 - shell: !include-raw-escape:
722 - ../shell/jjb-install.sh
723 - ../shell/jjb-merge-job.sh
724 - ../shell/jjb-cleanup.sh
727 name: '{project-name}-jjb-merge'
730 # yamllint disable-line rule:key-duplicates
733 git-url: '$GIT_URL/$GERRIT_PROJECT'
736 - lf-infra-gerrit-scm:
740 submodule-recursive: '{submodule-recursive}'
741 submodule-timeout: '{submodule-timeout}'
742 choosing-strategy: default
743 jenkins-ssh-credential: '{jenkins-ssh-credential}'
747 server-name: '{gerrit-server-name}'
748 trigger-on: '{obj:gerrit_merge_triggers}'
750 - project-compare-type: ANT
751 project-pattern: '{project}'
753 - branch-compare-type: ANT
754 branch-pattern: '**/{branch}'
755 file-paths: '{obj:gerrit_trigger_file_paths}'
758 name: '{project-name}-jjb-merge'
761 # yamllint disable-line rule:key-duplicates
764 #####################
765 # Job Configuration #
766 #####################
769 - lf-infra-properties:
771 build-days-to-keep: 7
773 url: '{github-url}/{github-org}/{project}'
776 - lf-infra-github-scm:
777 url: '{git-clone-url}{github-org}/{project}'
779 branch: 'refs/heads/{branch}'
780 submodule-recursive: '{submodule-recursive}'
781 submodule-timeout: '{submodule-timeout}'
782 choosing-strategy: default
783 jenkins-ssh-credential: '{jenkins-ssh-credential}'
789 - github-pull-request:
790 trigger-phrase: '^remerge$'
791 only-trigger-phrase: true
792 status-context: 'JJB Merge'
797 white-list: '{obj:github_pr_whitelist}'
798 admin-list: '{obj:github_pr_admin_list}'
799 included-regions: '{obj:github_included_regions}'
800 white-list-target-branches:
807 - lf_jjb_verify: &lf_jjb_verify
810 ######################
811 # Default parameters #
812 ######################
814 gerrit_verify_triggers:
815 - patchset-created-event:
817 exclude-trivial-rebase: false
818 exclude-no-code-change: false
819 - draft-published-event
820 - comment-added-contains-event:
821 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
823 #####################
824 # Job Configuration #
825 #####################
832 - shell: !include-raw-escape:
833 - ../shell/git-validate-jira-urls.sh
834 - ../shell/jjb-install.sh
835 - ../shell/jjb-verify-job.sh
836 - ../shell/jjb-check-unicode.sh
837 - ../shell/jjb-cleanup.sh
838 - lf-infra-gpg-verify-git-signature
841 name: '{project-name}-jjb-verify'
842 id: gerrit-jjb-verify
844 # yamllint disable-line rule:key-duplicates
847 ######################
848 # Default parameters #
849 ######################
851 git-url: '$GIT_URL/$GERRIT_PROJECT'
853 #####################
854 # Job Configuration #
855 #####################
858 - lf-infra-gerrit-scm:
860 refspec: '$GERRIT_REFSPEC'
861 branch: '$GERRIT_BRANCH'
862 submodule-recursive: '{submodule-recursive}'
863 submodule-timeout: '{submodule-timeout}'
864 choosing-strategy: gerrit
865 jenkins-ssh-credential: '{jenkins-ssh-credential}'
869 server-name: '{gerrit-server-name}'
870 trigger-on: '{obj:gerrit_verify_triggers}'
872 - project-compare-type: ANT
873 project-pattern: '{project}'
875 - branch-compare-type: ANT
876 branch-pattern: '**/{branch}'
877 file-paths: '{obj:gerrit_trigger_file_paths}'
880 name: '{project-name}-jjb-verify'
881 id: github-jjb-verify
883 # yamllint disable-line rule:key-duplicates
886 #####################
887 # Job Configuration #
888 #####################
891 - lf-infra-properties:
893 build-days-to-keep: 7
895 url: '{github-url}/{github-org}/{project}'
898 - lf-infra-github-scm:
899 url: '{git-clone-url}{github-org}/{project}'
900 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
902 submodule-recursive: '{submodule-recursive}'
903 submodule-timeout: '{submodule-timeout}'
904 choosing-strategy: default
905 jenkins-ssh-credential: '{jenkins-ssh-credential}'
908 - github-pull-request:
909 trigger-phrase: '^(recheck|reverify)$'
910 only-trigger-phrase: false
911 status-context: 'JJB Verify'
914 included-regions: '{obj:github_included_regions}'
915 white-list-target-branches:
918 ############################
919 # JJB Verify Upstream GJJB #
920 ############################
922 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
923 name: lf-jjb-verify-upstream-gjjb
925 #####################
926 # Job Configuration #
927 #####################
934 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
935 git cherry-pick FETCH_HEAD
937 - shell: !include-raw-escape:
938 - ../shell/git-validate-jira-urls.sh
939 - ../shell/jjb-install.sh
940 - ../shell/jjb-verify-job.sh
941 - ../shell/jjb-check-unicode.sh
942 - ../shell/jjb-cleanup.sh
943 - lf-infra-gpg-verify-git-signature
946 name: '{project-name}-jjb-verify-upstream-gjjb'
947 id: gerrit-jjb-verify-upstream-gjjb
949 # yamllint disable-line rule:key-duplicates
950 <<: *lf_jjb_verify_upstream_gjjb
952 ######################
953 # Default parameters #
954 ######################
956 git-url: '$GIT_URL/$PROJECT'
957 submodule-timeout: 10
959 #####################
960 # Job Configuration #
961 #####################
964 - lf-infra-gerrit-scm:
968 submodule-recursive: true
969 submodule-timeout: '{submodule-timeout}'
970 choosing-strategy: default
971 jenkins-ssh-credential: '{jenkins-ssh-credential}'
975 server-name: 'LinuxFoundation'
977 - patchset-created-event:
979 exclude-trivial-rebase: false
980 exclude-no-code-change: false
981 - draft-published-event
982 - comment-added-contains-event:
983 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
985 - project-compare-type: ANT
986 project-pattern: 'releng/global-jjb'
988 - branch-compare-type: ANT
989 branch-pattern: '**/master'
991 gerrit-build-failed-codereview-value: -1
992 gerrit-build-failed-verified-value: 0
993 gerrit-build-successful-codereview-value: 1
994 gerrit-build-successful-verified-value: 0
1000 - lf_license_check: &lf_license_check
1001 name: lf-license-check
1003 ######################
1004 # Default parameters #
1005 ######################
1008 build-days-to-keep: 7
1017 git-url: '$GIT_URL/$PROJECT'
1018 github-url: 'https://github.com'
1020 license-exclude-paths: ''
1021 licenses-allowed: Apache-2.0,EPL-1.0,MIT
1022 project-pattern: '**'
1025 submodule-timeout: 10
1027 #####################
1028 # Job Configuration #
1029 #####################
1031 project-type: freestyle
1032 node: '{build-node}'
1034 disabled: '{disable-job}'
1037 - lf-infra-properties:
1038 build-days-to-keep: '{build-days-to-keep}'
1041 - lf-infra-parameters:
1042 project: '{project}'
1045 lftools-version: '{lftools-version}'
1048 - lf-infra-wrappers:
1049 build-timeout: '{build-timeout}'
1050 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1054 file-patterns: '{file-patterns}'
1055 spdx-disable: '{spdx-disable}'
1056 lhc-version: '{lhc-version}'
1057 license-exclude-paths: '{license-exclude-paths}'
1058 licenses-allowed: '{licenses-allowed}'
1064 name: '{project-name}-license-check'
1065 id: gerrit-license-check
1066 <<: *lf_license_check
1068 git-url: '$GIT_URL/$GERRIT_PROJECT'
1071 - lf-infra-gerrit-scm:
1072 git-url: '{git-url}'
1073 refspec: '$GERRIT_REFSPEC'
1074 branch: '$GERRIT_BRANCH'
1075 # Submodules are out of the project's control
1076 submodule-recursive: false
1077 submodule-timeout: '{submodule-timeout}'
1078 choosing-strategy: gerrit
1079 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1083 server-name: '{gerrit-server-name}'
1084 # Trigger should not be overridable as we want to always run
1086 - patchset-created-event:
1087 exclude-drafts: false
1088 exclude-trivial-rebase: false
1089 exclude-no-code-change: false
1090 - draft-published-event
1091 - comment-added-contains-event:
1092 comment-contains-value: recheck$
1094 - project-compare-type: ANT
1095 project-pattern: '{project-pattern}'
1097 - branch-compare-type: ANT
1098 branch-pattern: '**'
1101 name: '{project-name}-license-check'
1102 id: github-license-check
1103 <<: *lf_license_check
1106 - lf-infra-properties:
1107 build-days-to-keep: '{build-days-to-keep}'
1109 url: '{github-url}/{github-org}/{project}'
1112 - lf-infra-github-scm:
1113 url: '{git-clone-url}{github-org}/{project}'
1114 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1116 # Submodules are out of the project's control
1117 submodule-recursive: false
1118 submodule-timeout: '{submodule-timeout}'
1119 choosing-strategy: default
1120 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1123 - github-pull-request:
1124 trigger-phrase: '^recheck$'
1125 only-trigger-phrase: false
1126 status-context: 'License Check'
1129 white-list-target-branches:
1132 ####################
1133 # Info YAML Verify #
1134 ####################
1136 - lf_info_yaml_verify: &lf_info_yaml_verify
1137 name: lf-info-yaml-verify
1139 ######################
1140 # Default parameters #
1141 ######################
1143 gerrit_verify_triggers:
1144 - patchset-created-event:
1145 exclude-drafts: true
1146 exclude-trivial-rebase: false
1147 exclude-no-code-change: false
1148 - draft-published-event
1149 - comment-added-contains-event:
1150 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1152 #####################
1153 # Job Configuration #
1154 #####################
1159 - shell: !include-raw-escape:
1160 - ../shell/git-validate-info-yaml.sh
1161 - ../shell/info-file-validate.sh
1164 name: '{project-name}-info-yaml-verify'
1165 id: gerrit-info-yaml-verify
1167 # yamllint disable-line rule:key-duplicates
1168 <<: *lf_info_yaml_verify
1170 git-url: '$GIT_URL/$GERRIT_PROJECT'
1173 - lf-infra-gerrit-scm:
1174 git-url: '{git-url}'
1175 refspec: '$GERRIT_REFSPEC'
1176 branch: '$GERRIT_BRANCH'
1177 submodule-recursive: '{submodule-recursive}'
1178 submodule-timeout: '{submodule-timeout}'
1179 choosing-strategy: gerrit
1180 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1184 server-name: '{gerrit-server-name}'
1185 trigger-on: '{obj:gerrit_verify_triggers}'
1187 - project-compare-type: ANT
1188 project-pattern: '{project}'
1190 - branch-compare-type: ANT
1191 branch-pattern: '**/{branch}'
1193 - compare-type: REG_EXP
1194 pattern: 'INFO.yaml'
1197 name: '{project-name}-info-yaml-verify'
1198 id: github-info-yaml-verify
1200 # yamllint disable-line rule:key-duplicates
1201 <<: *lf_info_yaml_verify
1203 github-url: 'https://github.com'
1206 url: '{github-url}/{github-org}/{project}'
1209 - lf-infra-github-scm:
1210 url: '{git-clone-url}{github-org}/{project}'
1211 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1213 submodule-recursive: '{submodule-recursive}'
1214 submodule-timeout: '{submodule-timeout}'
1215 choosing-strategy: default
1216 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1219 - github-pull-request:
1220 trigger-phrase: '^(recheck|reverify)$'
1221 only-trigger-phrase: false
1222 status-context: 'INFO File Verify'
1225 # included-regions MUST match gerrit file-paths
1226 included-regions: 'INFO.yaml'
1227 white-list-target-branches:
1234 - lf_openstack_cron: &lf_openstack_cron
1235 name: lf-openstack-cron
1237 ######################
1238 # Default parameters #
1239 ######################
1242 build-days-to-keep: 7
1246 git-url: '$GIT_URL/$PROJECT'
1247 github-url: 'https://github.com'
1248 openstack-cloud: vex
1249 openstack-image-cleanup: true
1250 openstack-image-cleanup-age: 30
1251 openstack-image-protect: true
1252 openstack-server-cleanup: true
1253 openstack-stack-cleanup: true
1254 openstack-volume-cleanup: true
1256 submodule-timeout: 10
1258 #####################
1259 # Job Configuration #
1260 #####################
1262 project-type: freestyle
1263 node: '{build-node}'
1265 disabled: '{disable-job}'
1268 - lf-infra-properties:
1269 build-days-to-keep: '{build-days-to-keep}'
1272 - lf-infra-parameters:
1273 project: '{project}'
1276 lftools-version: '{lftools-version}'
1279 default: '{jenkins-urls}'
1281 Space separated list of Jenkins URLs to check for active builds.
1284 - lf-infra-wrappers:
1285 build-timeout: '{build-timeout}'
1286 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1287 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1288 - config-file-provider:
1290 - file-id: clouds-yaml
1291 target: '$HOME/.config/openstack/clouds.yaml'
1293 target: '$HOME/.npmrc'
1295 target: '$HOME/.config/pip/pip.conf'
1298 - timed: '{obj:cron}'
1301 - lf-infra-pre-build
1303 properties-content: OS_CLOUD={openstack-cloud}
1306 condition-kind: boolean-expression
1307 condition-expression: '{openstack-stack-cleanup}'
1309 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-stacks.sh
1312 condition-kind: boolean-expression
1313 condition-expression: '{openstack-server-cleanup}'
1315 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-servers.sh
1318 condition-kind: boolean-expression
1319 condition-expression: '{openstack-volume-cleanup}'
1321 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-volumes.sh
1324 condition-kind: boolean-expression
1325 condition-expression: '{openstack-image-protect}'
1327 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1329 condition-kind: boolean-expression
1330 condition-expression: '{openstack-image-cleanup}'
1333 properties-content: OS_IMAGE_CLEANUP_AGE={openstack-image-cleanup-age}
1334 - shell: !include-raw-escape: ../shell/openstack-cleanup-old-images.sh
1340 name: '{project-name}-openstack-cron'
1341 id: gerrit-openstack-cron
1342 <<: *lf_openstack_cron
1345 - lf-infra-gerrit-scm:
1346 git-url: '{git-url}'
1347 refspec: 'refs/heads/{branch}'
1349 submodule-recursive: true
1350 submodule-timeout: '{submodule-timeout}'
1351 choosing-strategy: default
1352 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1355 name: '{project-name}-openstack-cron'
1356 id: github-openstack-cron
1357 <<: *lf_openstack_cron
1360 - lf-infra-github-scm:
1361 url: '{git-clone-url}{github-org}/{project}'
1363 branch: 'refs/heads/{branch}'
1364 submodule-recursive: true
1365 submodule-timeout: '{submodule-timeout}'
1366 choosing-strategy: default
1367 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1373 - lf_packer_merge: &lf_packer_merge
1374 name: lf-packer-merge
1376 ######################
1377 # Default parameters #
1378 ######################
1381 openstack-cloud: vex
1383 #####################
1384 # Job Configuration #
1385 #####################
1388 - lf-infra-parameters:
1389 project: '{project}'
1392 lftools-version: '{lftools-version}'
1393 - lf-packer-parameters:
1394 packer-version: '{packer-version}'
1397 - lf-infra-packer-build:
1398 openstack: '{openstack}'
1399 openstack-cloud: '{openstack-cloud}'
1400 packer-cloud-settings: '{packer-cloud-settings}'
1401 packer-version: '{packer-version}'
1402 platform: '{platforms}'
1403 template: '{templates}'
1406 name: '{project-name}-packer-merge-{platforms}-{templates}'
1407 id: gerrit-packer-merge
1408 <<: *lf_packer_common
1409 # yamllint disable-line rule:key-duplicates
1410 <<: *lf_packer_merge
1412 ######################
1413 # Default parameters #
1414 ######################
1416 git-url: '$GIT_URL/$GERRIT_PROJECT'
1418 gerrit_merge_triggers:
1419 - change-merged-event
1420 - comment-added-contains-event:
1421 comment-contains-value: remerge$
1423 #####################
1424 # Job Configuration #
1425 #####################
1428 - lf-infra-gerrit-scm:
1429 git-url: '{git-url}'
1430 refspec: '$GERRIT_REFSPEC'
1431 branch: '$GERRIT_BRANCH'
1432 submodule-recursive: '{submodule-recursive}'
1433 submodule-timeout: '{submodule-timeout}'
1434 choosing-strategy: gerrit
1435 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1438 - timed: '{obj:cron}'
1440 server-name: '{gerrit-server-name}'
1441 trigger-on: '{obj:gerrit_merge_triggers}'
1443 - project-compare-type: ANT
1444 project-pattern: '{project}'
1446 - branch-compare-type: ANT
1447 branch-pattern: '**/{branch}'
1449 - compare-type: REG_EXP
1450 pattern: 'packer\/provision\/.*\.sh'
1451 - compare-type: REG_EXP
1452 pattern: 'packer\/provision\/.*\.bat'
1453 - compare-type: REG_EXP
1454 pattern: 'packer\/provision\/.*\.ps1'
1455 - compare-type: REG_EXP
1456 pattern: 'packer\/provision\/{templates}\.yaml'
1457 - compare-type: REG_EXP
1458 pattern: 'packer\/provision\/local-{templates}\.yaml'
1459 - compare-type: REG_EXP
1460 pattern: 'packer\/templates\/{templates}\.json'
1461 - compare-type: REG_EXP
1462 pattern: 'packer\/vars\/{platforms}\.json'
1465 name: '{project-name}-packer-merge-{platforms}-{templates}'
1466 id: github-packer-merge
1467 <<: *lf_packer_common
1468 # yamllint disable-line rule:key-duplicates
1469 <<: *lf_packer_merge
1471 #####################
1472 # Job Configuration #
1473 #####################
1476 - lf-infra-properties:
1477 project: '{project}'
1478 build-days-to-keep: 7
1480 url: '{github-url}/{github-org}/{project}'
1483 - lf-infra-github-scm:
1484 url: '{git-clone-url}{github-org}/{project}'
1486 +refs/heads/*:refs/remotes/origin/*
1487 +refs/pull/*:refs/remotes/origin/pr/*
1488 branch: '$GERRIT_REFSPEC'
1489 submodule-recursive: '{submodule-recursive}'
1490 submodule-timeout: '{submodule-timeout}'
1491 choosing-strategy: default
1492 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1495 - timed: '{obj:cron}'
1500 - github-pull-request:
1501 trigger-phrase: '^remerge$'
1502 only-trigger-phrase: true
1503 status-context: 'Packer {platforms}-{templates} Merge'
1508 white-list: '{obj:github_pr_whitelist}'
1509 admin-list: '{obj:github_pr_admin_list}'
1510 # included-regions MUST match Gerrit Trigger file-paths
1512 - 'packer\/provision\/.*\.sh'
1513 - 'packer\/provision\/.*\.bat'
1514 - 'packer\/provision\/.*\.ps1'
1515 - 'packer\/provision\/{templates}\.yaml'
1516 - 'packer\/provision\/local-{templates}\.yaml'
1517 - 'packer\/templates\/{templates}\.json'
1518 - 'packer\/vars\/{platforms}\.json'
1519 white-list-target-branches:
1526 - lf_packer_verify: &lf_packer_verify
1527 name: lf-packer-verify
1529 ######################
1530 # Default parameters #
1531 ######################
1535 openstack-cloud: vex
1537 gerrit_verify_triggers:
1538 - patchset-created-event:
1539 exclude-drafts: true
1540 exclude-trivial-rebase: false
1541 exclude-no-code-change: false
1542 - draft-published-event
1543 - comment-added-contains-event:
1544 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1546 gerrit_trigger_file_paths:
1547 - compare-type: REG_EXP
1548 pattern: 'packer\/.*'
1550 # github_included_regions MUST match gerrit_trigger_file_paths
1551 github_included_regions:
1554 #####################
1555 # Job Configuration #
1556 #####################
1561 - lf-infra-packer-validate:
1562 openstack: '{openstack}'
1563 openstack-cloud: '{openstack-cloud}'
1564 packer-cloud-settings: '{packer-cloud-settings}'
1565 packer-version: '{packer-version}'
1568 name: '{project-name}-packer-verify'
1569 id: gerrit-packer-verify
1570 <<: *lf_packer_common
1571 # yamllint disable-line rule:key-duplicates
1572 <<: *lf_packer_verify
1574 ######################
1575 # Default parameters #
1576 ######################
1578 git-url: '$GIT_URL/$GERRIT_PROJECT'
1580 #####################
1581 # Job Configuration #
1582 #####################
1585 - lf-infra-gerrit-scm:
1586 git-url: '{git-url}'
1587 refspec: '$GERRIT_REFSPEC'
1588 branch: '$GERRIT_BRANCH'
1589 submodule-recursive: '{submodule-recursive}'
1590 submodule-timeout: '{submodule-timeout}'
1591 choosing-strategy: gerrit
1592 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1596 server-name: '{gerrit-server-name}'
1597 trigger-on: '{obj:gerrit_verify_triggers}'
1599 - project-compare-type: ANT
1600 project-pattern: '{project}'
1602 - branch-compare-type: ANT
1603 branch-pattern: '**/{branch}'
1604 file-paths: '{obj:gerrit_trigger_file_paths}'
1607 name: '{project-name}-packer-verify'
1608 id: github-packer-verify
1609 <<: *lf_packer_common
1610 # yamllint disable-line rule:key-duplicates
1611 <<: *lf_packer_verify
1613 #####################
1614 # Job Configuration #
1615 #####################
1618 - lf-infra-properties:
1619 project: '{project}'
1620 build-days-to-keep: 7
1622 url: '{github-url}/{github-org}/{project}'
1625 - lf-infra-github-scm:
1626 url: '{git-clone-url}{github-org}/{project}'
1627 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1629 submodule-recursive: '{submodule-recursive}'
1630 submodule-timeout: '{submodule-timeout}'
1631 choosing-strategy: default
1632 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1635 - github-pull-request:
1636 trigger-phrase: '^(recheck|reverify)$'
1637 only-trigger-phrase: false
1638 status-context: 'Packer Verify'
1641 included-regions: '{obj:github_included_regions}'
1642 white-list-target-branches: