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 name: lf-packer-parameters
86 default: '{packer-version}'
87 description: Packer version to download and install.
89 - lf_jjb_common: &lf_jjb_common
92 ######################
93 # Default parameters #
94 ######################
99 github-url: 'https://github.com'
102 submodule-recursive: true
103 submodule-timeout: 10
105 gerrit_trigger_file_paths:
106 - compare-type: REG_EXP
108 - compare-type: REG_EXP
109 pattern: 'global-jjb'
110 - compare-type: REG_EXP
113 # github_included_regions MUST match gerrit_trigger_file_paths
114 github_included_regions:
119 #####################
120 # Job Configuration #
121 #####################
123 project-type: freestyle
125 disabled: '{disable-job}'
128 - lf-infra-properties:
130 build-days-to-keep: 7
133 - lf-infra-parameters:
137 lftools-version: '{lftools-version}'
138 - lf-infra-jjb-parameters:
139 jjb-version: '{jjb-version}'
143 build-timeout: '{build-timeout}'
144 jenkins-ssh-credential: '{jenkins-ssh-credential}'
149 ######################
150 # Gerrit Branch Lock #
151 ######################
154 name: '{project-name}-gerrit-branch-lock-{stream}'
155 id: gerrit-branch-lock
157 ######################
158 # Default parameters #
159 ######################
163 git-url: '$GIT_URL/$GERRIT_PROJECT'
165 submodule-timeout: 10
166 gerrit_merge_triggers:
167 - comment-added-contains-event:
168 comment-contains-value: (un)?lock branch$
170 #####################
171 # Job Configuration #
172 #####################
174 project-type: freestyle
176 disabled: '{disable-job}'
179 - lf-infra-properties:
181 build-days-to-keep: 1
184 - lf-infra-parameters:
188 lftools-version: '{lftools-version}'
193 jenkins-ssh-credential: '{jenkins-ssh-credential}'
196 - lf-infra-gerrit-scm:
200 submodule-recursive: false
201 submodule-timeout: '{submodule-timeout}'
202 choosing-strategy: default
203 jenkins-ssh-credential: '{jenkins-ssh-credential}'
207 server-name: '{gerrit-server-name}'
208 trigger-on: '{obj:gerrit_merge_triggers}'
210 - project-compare-type: ANT
211 project-pattern: '{project}'
213 - branch-compare-type: ANT
214 branch-pattern: '**/{branch}'
217 - shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
223 ##########################################
224 # Jenkins Configuration Management Merge #
225 ##########################################
228 name: lf-jenkins-cfg-clouds
232 properties-content: 'jenkins_silos={jenkins-silos}'
233 - shell: !include-raw-escape: ../shell/jenkins-configure-clouds.sh
234 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
237 name: lf-jenkins-cfg-global-vars
241 properties-content: 'jenkins_silos={jenkins-silos}'
242 - shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
243 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
245 - lf_jenkins_configuration: &lf_jenkins_cfg_merge
246 name: lf-jenkins-cfg-merge
248 ######################
249 # Default parameters #
250 ######################
255 git-url: '$GIT_URL/$GERRIT_PROJECT'
256 github-url: 'https://github.com'
257 jenkins-silos: production sandbox
258 submodule-timeout: 10
260 gerrit_merge_triggers:
261 - change-merged-event
262 - comment-added-contains-event:
263 comment-contains-value: remerge$
265 gerrit_trigger_file_paths:
266 - compare-type: REG_EXP
267 pattern: 'jenkins-config\/.*'
269 # github_included_regions MUST match gerrit_trigger_file_paths
270 github_included_regions:
271 - 'jenkins-config\/.*'
273 #####################
274 # Job Configuration #
275 #####################
277 project-type: freestyle
280 disabled: '{disable-job}'
283 - lf-infra-properties:
285 build-days-to-keep: 1
288 - lf-infra-parameters:
292 lftools-version: '{lftools-version}'
297 jenkins-ssh-credential: '{jenkins-ssh-credential}'
301 - lf-jenkins-cfg-global-vars:
302 jenkins-silos: '{jenkins-silos}'
303 - lf-jenkins-cfg-clouds:
304 jenkins-silos: '{jenkins-silos}'
310 name: '{project-name}-jenkins-cfg-merge'
311 id: gerrit-jenkins-cfg-merge
312 <<: *lf_jenkins_cfg_merge
315 - lf-infra-gerrit-scm:
317 refspec: 'refs/heads/{branch}'
319 submodule-recursive: true
320 submodule-timeout: '{submodule-timeout}'
321 choosing-strategy: default
322 jenkins-ssh-credential: '{jenkins-ssh-credential}'
325 - timed: '{obj:cron}'
327 server-name: '{gerrit-server-name}'
328 trigger-on: '{obj:gerrit_merge_triggers}'
330 - project-compare-type: ANT
331 project-pattern: '{project}'
333 - branch-compare-type: ANT
334 branch-pattern: '**/{branch}'
335 file-paths: '{obj:gerrit_trigger_file_paths}'
338 name: '{project-name}-jenkins-cfg-merge'
339 id: github-jenkins-cfg-merge
340 <<: *lf_jenkins_cfg_merge
343 - lf-infra-properties:
345 build-days-to-keep: 1
347 url: '{github-url}/{github-org}/{project}'
350 - lf-infra-github-scm:
351 url: '{git-clone-url}{github-org}/{project}'
353 branch: 'refs/heads/{branch}'
354 submodule-recursive: true
355 submodule-timeout: '{submodule-timeout}'
356 choosing-strategy: default
357 jenkins-ssh-credential: '{jenkins-ssh-credential}'
360 - timed: '{obj:cron}'
364 - github-pull-request:
365 trigger-phrase: '^remerge$'
366 only-trigger-phrase: true
367 status-context: 'Jenkins CFG Merge'
372 white-list: '{obj:github_pr_whitelist}'
373 admin-list: '{obj:github_pr_admin_list}'
374 included-regions: '{obj:github_included_regions}'
375 white-list-target-branches:
378 ###########################################
379 # Jenkins Configuration Management Verify #
380 ###########################################
382 - lf_jenkins_configuration: &lf_jenkins_cfg_verify
383 name: lf-jenkins-cfg-verify
385 ######################
386 # Default parameters #
387 ######################
390 build-days-to-keep: 7
392 git-url: '$GIT_URL/$GERRIT_PROJECT'
393 github-url: 'https://github.com'
395 submodule-timeout: 10
397 gerrit_verify_triggers:
398 - patchset-created-event:
400 exclude-trivial-rebase: false
401 exclude-no-code-change: false
402 - draft-published-event
403 - comment-added-contains-event:
404 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
406 gerrit_trigger_file_paths:
407 - compare-type: REG_EXP
408 pattern: 'jenkins-config\/.*'
410 # github_included_regions MUST match gerrit_trigger_file_paths
411 github_included_regions:
412 - 'jenkins-config\/.*'
414 #####################
415 # Job Configuration #
416 #####################
418 project-type: freestyle
421 disabled: '{disable-job}'
424 - lf-infra-properties:
426 build-days-to-keep: 1
429 - lf-infra-parameters:
433 lftools-version: '{lftools-version}'
438 jenkins-ssh-credential: '{jenkins-ssh-credential}'
439 - config-file-provider:
440 # Listed after to override openstack-infra-wrappers clouds.yaml
443 - file-id: clouds-yaml
444 target: '$HOME/.config/openstack/clouds.yaml'
446 target: '$HOME/.npmrc'
448 target: '$HOME/.config/pip/pip.conf'
453 properties-content: OS_CLOUD={openstack-cloud}
454 - shell: !include-raw-escape: ../shell/jenkins-verify-images.sh
460 name: '{project-name}-jenkins-cfg-verify'
461 id: gerrit-jenkins-cfg-verify
462 <<: *lf_jenkins_cfg_verify
465 - lf-infra-gerrit-scm:
467 refspec: 'refs/heads/{branch}'
469 submodule-recursive: true
470 submodule-timeout: '{submodule-timeout}'
471 choosing-strategy: default
472 jenkins-ssh-credential: '{jenkins-ssh-credential}'
476 server-name: '{gerrit-server-name}'
477 trigger-on: '{obj:gerrit_verify_triggers}'
479 - project-compare-type: ANT
480 project-pattern: '{project}'
482 - branch-compare-type: ANT
483 branch-pattern: '**/{branch}'
484 file-paths: '{obj:gerrit_trigger_file_paths}'
487 name: '{project-name}-jenkins-cfg-verify'
488 id: github-jenkins-cfg-verify
489 <<: *lf_jenkins_cfg_verify
493 url: '{github-url}/{github-org}/{project}'
496 - lf-infra-github-scm:
497 url: '{git-clone-url}{github-org}/{project}'
498 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
500 submodule-recursive: '{submodule-recursive}'
501 submodule-timeout: '{submodule-timeout}'
502 choosing-strategy: default
503 jenkins-ssh-credential: '{jenkins-ssh-credential}'
506 - github-pull-request:
507 trigger-phrase: '^(recheck|reverify)$'
508 only-trigger-phrase: false
509 status-context: 'Jenkins CFG Verify'
512 included-regions: '{obj:github_included_regions}'
513 white-list-target-branches:
516 ###########################
517 # JENKINS SANDBOX CLEANUP #
518 ###########################
520 - lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
521 name: lf-jenkins-sandbox-cleanup
523 ######################
524 # Default parameters #
525 ######################
528 # Run every Saturday at 08:00 UTC
532 #####################
533 # Job Configuration #
534 #####################
536 project-type: freestyle
539 disabled: '{disable-job}'
542 - lf-infra-jjb-parameters:
543 jjb-version: '{jjb-version}'
546 - timed: '{obj:cron}'
550 - shell: !include-raw-escape:
551 - ../shell/jjb-install.sh
552 - ../shell/jenkins-sandbox-cleanup.sh
553 - ../shell/jjb-cleanup.sh
556 name: '{project-name}-jenkins-sandbox-cleanup'
557 id: gerrit-jenkins-sandbox-cleanup
559 # yamllint disable-line rule:key-duplicates
560 <<: *lf_jenkins_sandbox_cleanup
563 name: '{project-name}-jenkins-sandbox-cleanup'
564 id: github-jenkins-sandbox-cleanup
566 # yamllint disable-line rule:key-duplicates
567 <<: *lf_jenkins_sandbox_cleanup
574 - lf_jjb_deploy_job: &lf_jjb_deploy_job
575 name: lf-jjb-deploy-job
577 ######################
578 # Default parameters #
579 ######################
583 # jjb-deploy should always clone $PROJECT regardless of what
584 # $GERRIT_PROJECT triggered the job.
585 git-url: '$GIT_URL/$PROJECT'
586 github-url: 'https://github.com'
588 submodule-timeout: 10
589 gerrit_jjb_deploy_job_triggers:
590 - comment-added-contains-event:
591 comment-contains-value: 'jjb-deploy[:]* (?!\*+$).+$'
593 #####################
594 # Job Configuration #
595 #####################
597 project-type: freestyle
600 disabled: '{disable-job}'
603 - lf-infra-properties:
605 build-days-to-keep: 1
608 - lf-infra-parameters:
612 lftools-version: '{lftools-version}'
617 jenkins-ssh-credential: '{jenkins-ssh-credential}'
621 pip-packages: jenkins-job-builder
622 - lf-infra-jjbini-sandbox
623 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
629 name: '{project-name}-jjb-deploy-job'
630 id: gerrit-jjb-deploy-job
631 <<: *lf_jjb_deploy_job
634 - lf-infra-gerrit-scm:
636 refspec: 'refs/heads/{branch}'
638 submodule-recursive: true
639 submodule-timeout: '{submodule-timeout}'
640 choosing-strategy: default
641 jenkins-ssh-credential: '{jenkins-ssh-credential}'
645 server-name: '{gerrit-server-name}'
646 trigger-on: '{obj:gerrit_jjb_deploy_job_triggers}'
648 - project-compare-type: ANT
649 project-pattern: '**'
651 - branch-compare-type: ANT
660 name: '{project-name}-jjb-deploy-job'
661 id: github-jjb-deploy-job
662 <<: *lf_jjb_deploy_job
665 - lf-infra-properties:
667 build-days-to-keep: 1
669 url: '{github-url}/{github-org}/{project}'
672 - lf-infra-github-scm:
673 url: '{git-clone-url}{github-org}/{project}'
674 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
676 submodule-recursive: true
677 submodule-timeout: '{submodule-timeout}'
678 choosing-strategy: default
679 jenkins-ssh-credential: '{jenkins-ssh-credential}'
682 - github-pull-request:
683 trigger-phrase: '^jjb-deploy (?!\*+$).+$'
684 only-trigger-phrase: true
685 status-context: 'JJB Deploy Job'
688 white-list-target-branches:
695 - lf_jjb_merge: &lf_jjb_merge
698 ######################
699 # Default parameters #
700 ######################
702 gerrit_merge_triggers:
703 - change-merged-event
704 - comment-added-contains-event:
705 comment-contains-value: remerge$
707 #####################
708 # Job Configuration #
709 #####################
714 - shell: !include-raw-escape:
715 - ../shell/jjb-install.sh
716 - ../shell/jjb-merge-job.sh
717 - ../shell/jjb-cleanup.sh
720 name: '{project-name}-jjb-merge'
723 # yamllint disable-line rule:key-duplicates
726 git-url: '$GIT_URL/$GERRIT_PROJECT'
729 - lf-infra-gerrit-scm:
733 submodule-recursive: '{submodule-recursive}'
734 submodule-timeout: '{submodule-timeout}'
735 choosing-strategy: default
736 jenkins-ssh-credential: '{jenkins-ssh-credential}'
740 server-name: '{gerrit-server-name}'
741 trigger-on: '{obj:gerrit_merge_triggers}'
743 - project-compare-type: ANT
744 project-pattern: '{project}'
746 - branch-compare-type: ANT
747 branch-pattern: '**/{branch}'
748 file-paths: '{obj:gerrit_trigger_file_paths}'
751 name: '{project-name}-jjb-merge'
754 # yamllint disable-line rule:key-duplicates
757 #####################
758 # Job Configuration #
759 #####################
762 - lf-infra-properties:
764 build-days-to-keep: 7
766 url: '{github-url}/{github-org}/{project}'
769 - lf-infra-github-scm:
770 url: '{git-clone-url}{github-org}/{project}'
772 branch: 'refs/heads/{branch}'
773 submodule-recursive: '{submodule-recursive}'
774 submodule-timeout: '{submodule-timeout}'
775 choosing-strategy: default
776 jenkins-ssh-credential: '{jenkins-ssh-credential}'
782 - github-pull-request:
783 trigger-phrase: '^remerge$'
784 only-trigger-phrase: true
785 status-context: 'JJB Merge'
790 white-list: '{obj:github_pr_whitelist}'
791 admin-list: '{obj:github_pr_admin_list}'
792 included-regions: '{obj:github_included_regions}'
793 white-list-target-branches:
800 - lf_jjb_verify: &lf_jjb_verify
803 ######################
804 # Default parameters #
805 ######################
807 gerrit_verify_triggers:
808 - patchset-created-event:
810 exclude-trivial-rebase: false
811 exclude-no-code-change: false
812 - draft-published-event
813 - comment-added-contains-event:
814 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
816 #####################
817 # Job Configuration #
818 #####################
825 - shell: !include-raw-escape:
826 - ../shell/git-validate-jira-urls.sh
827 - ../shell/jjb-install.sh
828 - ../shell/jjb-verify-job.sh
829 - ../shell/jjb-check-unicode.sh
830 - ../shell/jjb-cleanup.sh
831 - lf-infra-gpg-verify-git-signature
834 name: '{project-name}-jjb-verify'
835 id: gerrit-jjb-verify
837 # yamllint disable-line rule:key-duplicates
840 ######################
841 # Default parameters #
842 ######################
844 git-url: '$GIT_URL/$GERRIT_PROJECT'
846 #####################
847 # Job Configuration #
848 #####################
851 - lf-infra-gerrit-scm:
853 refspec: '$GERRIT_REFSPEC'
854 branch: '$GERRIT_BRANCH'
855 submodule-recursive: '{submodule-recursive}'
856 submodule-timeout: '{submodule-timeout}'
857 choosing-strategy: gerrit
858 jenkins-ssh-credential: '{jenkins-ssh-credential}'
862 server-name: '{gerrit-server-name}'
863 trigger-on: '{obj:gerrit_verify_triggers}'
865 - project-compare-type: ANT
866 project-pattern: '{project}'
868 - branch-compare-type: ANT
869 branch-pattern: '**/{branch}'
870 file-paths: '{obj:gerrit_trigger_file_paths}'
873 name: '{project-name}-jjb-verify'
874 id: github-jjb-verify
876 # yamllint disable-line rule:key-duplicates
879 #####################
880 # Job Configuration #
881 #####################
884 - lf-infra-properties:
886 build-days-to-keep: 7
888 url: '{github-url}/{github-org}/{project}'
891 - lf-infra-github-scm:
892 url: '{git-clone-url}{github-org}/{project}'
893 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
895 submodule-recursive: '{submodule-recursive}'
896 submodule-timeout: '{submodule-timeout}'
897 choosing-strategy: default
898 jenkins-ssh-credential: '{jenkins-ssh-credential}'
901 - github-pull-request:
902 trigger-phrase: '^(recheck|reverify)$'
903 only-trigger-phrase: false
904 status-context: 'JJB Verify'
907 included-regions: '{obj:github_included_regions}'
908 white-list-target-branches:
911 ############################
912 # JJB Verify Upstream GJJB #
913 ############################
915 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
916 name: lf-jjb-verify-upstream-gjjb
918 #####################
919 # Job Configuration #
920 #####################
927 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
928 git cherry-pick FETCH_HEAD
930 - shell: !include-raw-escape:
931 - ../shell/git-validate-jira-urls.sh
932 - ../shell/jjb-install.sh
933 - ../shell/jjb-verify-job.sh
934 - ../shell/jjb-check-unicode.sh
935 - ../shell/jjb-cleanup.sh
936 - lf-infra-gpg-verify-git-signature
939 name: '{project-name}-jjb-verify-upstream-gjjb'
940 id: gerrit-jjb-verify-upstream-gjjb
942 # yamllint disable-line rule:key-duplicates
943 <<: *lf_jjb_verify_upstream_gjjb
945 ######################
946 # Default parameters #
947 ######################
949 git-url: '$GIT_URL/$PROJECT'
950 submodule-timeout: 10
952 #####################
953 # Job Configuration #
954 #####################
957 - lf-infra-gerrit-scm:
961 submodule-recursive: true
962 submodule-timeout: '{submodule-timeout}'
963 choosing-strategy: default
964 jenkins-ssh-credential: '{jenkins-ssh-credential}'
968 server-name: 'LinuxFoundation'
970 - patchset-created-event:
972 exclude-trivial-rebase: false
973 exclude-no-code-change: false
974 - draft-published-event
975 - comment-added-contains-event:
976 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
978 - project-compare-type: ANT
979 project-pattern: 'releng/global-jjb'
981 - branch-compare-type: ANT
982 branch-pattern: '**/master'
984 gerrit-build-failed-codereview-value: -1
985 gerrit-build-failed-verified-value: 0
986 gerrit-build-successful-codereview-value: 1
987 gerrit-build-successful-verified-value: 0
993 - lf_license_check: &lf_license_check
994 name: lf-license-check
996 ######################
997 # Default parameters #
998 ######################
1001 build-days-to-keep: 7
1010 git-url: '$GIT_URL/$PROJECT'
1011 github-url: 'https://github.com'
1013 license-exclude-paths: ''
1014 licenses-allowed: Apache-2.0,EPL-1.0,MIT
1015 project-pattern: '**'
1018 submodule-timeout: 10
1020 #####################
1021 # Job Configuration #
1022 #####################
1024 project-type: freestyle
1025 node: '{build-node}'
1027 disabled: '{disable-job}'
1030 - lf-infra-properties:
1031 build-days-to-keep: '{build-days-to-keep}'
1034 - lf-infra-parameters:
1035 project: '{project}'
1038 lftools-version: '{lftools-version}'
1041 - lf-infra-wrappers:
1042 build-timeout: '{build-timeout}'
1043 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1047 file-patterns: '{file-patterns}'
1048 spdx-disable: '{spdx-disable}'
1049 lhc-version: '{lhc-version}'
1050 license-exclude-paths: '{license-exclude-paths}'
1051 licenses-allowed: '{licenses-allowed}'
1057 name: '{project-name}-license-check'
1058 id: gerrit-license-check
1059 <<: *lf_license_check
1061 git-url: '$GIT_URL/$GERRIT_PROJECT'
1064 - lf-infra-gerrit-scm:
1065 git-url: '{git-url}'
1066 refspec: '$GERRIT_REFSPEC'
1067 branch: '$GERRIT_BRANCH'
1068 # Submodules are out of the project's control
1069 submodule-recursive: false
1070 submodule-timeout: '{submodule-timeout}'
1071 choosing-strategy: gerrit
1072 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1076 server-name: '{gerrit-server-name}'
1077 # Trigger should not be overridable as we want to always run
1079 - patchset-created-event:
1080 exclude-drafts: false
1081 exclude-trivial-rebase: false
1082 exclude-no-code-change: false
1083 - draft-published-event
1084 - comment-added-contains-event:
1085 comment-contains-value: recheck$
1087 - project-compare-type: ANT
1088 project-pattern: '{project-pattern}'
1090 - branch-compare-type: ANT
1091 branch-pattern: '**'
1094 name: '{project-name}-license-check'
1095 id: github-license-check
1096 <<: *lf_license_check
1099 - lf-infra-properties:
1100 build-days-to-keep: '{build-days-to-keep}'
1102 url: '{github-url}/{github-org}/{project}'
1105 - lf-infra-github-scm:
1106 url: '{git-clone-url}{github-org}/{project}'
1107 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1109 # Submodules are out of the project's control
1110 submodule-recursive: false
1111 submodule-timeout: '{submodule-timeout}'
1112 choosing-strategy: default
1113 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1116 - github-pull-request:
1117 trigger-phrase: '^recheck$'
1118 only-trigger-phrase: false
1119 status-context: 'License Check'
1122 white-list-target-branches:
1125 ####################
1126 # Info YAML Verify #
1127 ####################
1129 - lf_info_yaml_verify: &lf_info_yaml_verify
1130 name: lf-info-yaml-verify
1132 ######################
1133 # Default parameters #
1134 ######################
1136 gerrit_verify_triggers:
1137 - patchset-created-event:
1138 exclude-drafts: true
1139 exclude-trivial-rebase: false
1140 exclude-no-code-change: false
1141 - draft-published-event
1142 - comment-added-contains-event:
1143 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1145 #####################
1146 # Job Configuration #
1147 #####################
1152 - shell: !include-raw-escape:
1153 - ../shell/git-validate-info-yaml.sh
1154 - ../shell/info-file-validate.sh
1157 name: '{project-name}-info-yaml-verify'
1158 id: gerrit-info-yaml-verify
1160 # yamllint disable-line rule:key-duplicates
1161 <<: *lf_info_yaml_verify
1163 git-url: '$GIT_URL/$GERRIT_PROJECT'
1166 - lf-infra-gerrit-scm:
1167 git-url: '{git-url}'
1168 refspec: '$GERRIT_REFSPEC'
1169 branch: '$GERRIT_BRANCH'
1170 submodule-recursive: '{submodule-recursive}'
1171 submodule-timeout: '{submodule-timeout}'
1172 choosing-strategy: gerrit
1173 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1177 server-name: '{gerrit-server-name}'
1178 trigger-on: '{obj:gerrit_verify_triggers}'
1180 - project-compare-type: ANT
1181 project-pattern: '{project}'
1183 - branch-compare-type: ANT
1184 branch-pattern: '**/{branch}'
1186 - compare-type: REG_EXP
1187 pattern: 'INFO.yaml'
1190 name: '{project-name}-info-yaml-verify'
1191 id: github-info-yaml-verify
1193 # yamllint disable-line rule:key-duplicates
1194 <<: *lf_info_yaml_verify
1196 github-url: 'https://github.com'
1199 url: '{github-url}/{github-org}/{project}'
1202 - lf-infra-github-scm:
1203 url: '{git-clone-url}{github-org}/{project}'
1204 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1206 submodule-recursive: '{submodule-recursive}'
1207 submodule-timeout: '{submodule-timeout}'
1208 choosing-strategy: default
1209 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1212 - github-pull-request:
1213 trigger-phrase: '^(recheck|reverify)$'
1214 only-trigger-phrase: false
1215 status-context: 'INFO File Verify'
1218 # included-regions MUST match gerrit file-paths
1219 included-regions: 'INFO.yaml'
1220 white-list-target-branches:
1227 - lf_openstack_cron: &lf_openstack_cron
1228 name: lf-openstack-cron
1230 ######################
1231 # Default parameters #
1232 ######################
1235 build-days-to-keep: 7
1239 git-url: '$GIT_URL/$PROJECT'
1240 github-url: 'https://github.com'
1241 openstack-cloud: vex
1243 submodule-timeout: 10
1245 #####################
1246 # Job Configuration #
1247 #####################
1249 project-type: freestyle
1250 node: '{build-node}'
1252 disabled: '{disable-job}'
1255 - lf-infra-properties:
1256 build-days-to-keep: '{build-days-to-keep}'
1259 - lf-infra-parameters:
1260 project: '{project}'
1263 lftools-version: '{lftools-version}'
1266 - lf-infra-wrappers:
1267 build-timeout: '{build-timeout}'
1268 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1269 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1270 - config-file-provider:
1272 - file-id: clouds-yaml
1273 target: '$HOME/.config/openstack/clouds.yaml'
1275 target: '$HOME/.npmrc'
1277 target: '$HOME/.config/pip/pip.conf'
1280 - timed: '{obj:cron}'
1283 - lf-infra-pre-build
1285 properties-content: OS_CLOUD={openstack-cloud}
1286 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1292 name: '{project-name}-openstack-cron'
1293 id: gerrit-openstack-cron
1294 <<: *lf_openstack_cron
1297 - lf-infra-gerrit-scm:
1298 git-url: '{git-url}'
1299 refspec: 'refs/heads/{branch}'
1301 submodule-recursive: true
1302 submodule-timeout: '{submodule-timeout}'
1303 choosing-strategy: default
1304 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1307 name: '{project-name}-openstack-cron'
1308 id: github-openstack-cron
1309 <<: *lf_openstack_cron
1312 - lf-infra-github-scm:
1313 url: '{git-clone-url}{github-org}/{project}'
1315 branch: 'refs/heads/{branch}'
1316 submodule-recursive: true
1317 submodule-timeout: '{submodule-timeout}'
1318 choosing-strategy: default
1319 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1325 - lf_packer_merge: &lf_packer_merge
1326 name: lf-packer-merge
1328 ######################
1329 # Default parameters #
1330 ######################
1333 openstack-cloud: vex
1335 #####################
1336 # Job Configuration #
1337 #####################
1340 - lf-infra-parameters:
1341 project: '{project}'
1344 lftools-version: '{lftools-version}'
1345 - lf-packer-parameters:
1346 packer-version: '{packer-version}'
1349 - lf-infra-packer-build:
1350 openstack: '{openstack}'
1351 openstack-cloud: '{openstack-cloud}'
1352 packer-cloud-settings: '{packer-cloud-settings}'
1353 packer-version: '{packer-version}'
1354 platform: '{platforms}'
1355 template: '{templates}'
1358 name: '{project-name}-packer-merge-{platforms}-{templates}'
1359 id: gerrit-packer-merge
1360 <<: *lf_packer_common
1361 # yamllint disable-line rule:key-duplicates
1362 <<: *lf_packer_merge
1364 ######################
1365 # Default parameters #
1366 ######################
1368 git-url: '$GIT_URL/$GERRIT_PROJECT'
1370 gerrit_merge_triggers:
1371 - change-merged-event
1372 - comment-added-contains-event:
1373 comment-contains-value: remerge$
1375 #####################
1376 # Job Configuration #
1377 #####################
1380 - lf-infra-gerrit-scm:
1381 git-url: '{git-url}'
1382 refspec: '$GERRIT_REFSPEC'
1383 branch: '$GERRIT_BRANCH'
1384 submodule-recursive: '{submodule-recursive}'
1385 submodule-timeout: '{submodule-timeout}'
1386 choosing-strategy: gerrit
1387 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1390 - timed: '{obj:cron}'
1392 server-name: '{gerrit-server-name}'
1393 trigger-on: '{obj:gerrit_merge_triggers}'
1395 - project-compare-type: ANT
1396 project-pattern: '{project}'
1398 - branch-compare-type: ANT
1399 branch-pattern: '**/{branch}'
1401 - compare-type: REG_EXP
1402 pattern: 'packer\/provision\/.*\.sh'
1403 - compare-type: REG_EXP
1404 pattern: 'packer\/provision\/.*\.bat'
1405 - compare-type: REG_EXP
1406 pattern: 'packer\/provision\/.*\.ps1'
1407 - compare-type: REG_EXP
1408 pattern: 'packer\/provision\/{templates}\.yaml'
1409 - compare-type: REG_EXP
1410 pattern: 'packer\/provision\/local-{templates}\.yaml'
1411 - compare-type: REG_EXP
1412 pattern: 'packer\/templates\/{templates}\.json'
1413 - compare-type: REG_EXP
1414 pattern: 'packer\/vars\/{platforms}\.json'
1417 name: '{project-name}-packer-merge-{platforms}-{templates}'
1418 id: github-packer-merge
1419 <<: *lf_packer_common
1420 # yamllint disable-line rule:key-duplicates
1421 <<: *lf_packer_merge
1423 #####################
1424 # Job Configuration #
1425 #####################
1428 - lf-infra-properties:
1429 project: '{project}'
1430 build-days-to-keep: 7
1432 url: '{github-url}/{github-org}/{project}'
1435 - lf-infra-github-scm:
1436 url: '{git-clone-url}{github-org}/{project}'
1438 branch: 'refs/heads/{branch}'
1439 submodule-recursive: '{submodule-recursive}'
1440 submodule-timeout: '{submodule-timeout}'
1441 choosing-strategy: default
1442 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1445 - timed: '{obj:cron}'
1450 - github-pull-request:
1451 trigger-phrase: '^remerge$'
1452 only-trigger-phrase: true
1453 status-context: 'Packer {platforms}-{templates} Merge'
1458 white-list: '{obj:github_pr_whitelist}'
1459 admin-list: '{obj:github_pr_admin_list}'
1460 # included-regions MUST match Gerrit Trigger file-paths
1462 - 'packer\/provision\/.*\.sh'
1463 - 'packer\/provision\/.*\.bat'
1464 - 'packer\/provision\/.*\.ps1'
1465 - 'packer\/provision\/{templates}\.yaml'
1466 - 'packer\/provision\/local-{templates}\.yaml'
1467 - 'packer\/templates\/{templates}\.json'
1468 - 'packer\/vars\/{platforms}\.json'
1469 white-list-target-branches:
1476 - lf_packer_verify: &lf_packer_verify
1477 name: lf-packer-verify
1479 ######################
1480 # Default parameters #
1481 ######################
1485 openstack-cloud: vex
1487 gerrit_verify_triggers:
1488 - patchset-created-event:
1489 exclude-drafts: true
1490 exclude-trivial-rebase: false
1491 exclude-no-code-change: false
1492 - draft-published-event
1493 - comment-added-contains-event:
1494 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1496 gerrit_trigger_file_paths:
1497 - compare-type: REG_EXP
1498 pattern: 'packer\/.*'
1500 # github_included_regions MUST match gerrit_trigger_file_paths
1501 github_included_regions:
1504 #####################
1505 # Job Configuration #
1506 #####################
1511 - lf-infra-packer-validate:
1512 openstack: '{openstack}'
1513 openstack-cloud: '{openstack-cloud}'
1514 packer-cloud-settings: '{packer-cloud-settings}'
1515 packer-version: '{packer-version}'
1518 name: '{project-name}-packer-verify'
1519 id: gerrit-packer-verify
1520 <<: *lf_packer_common
1521 # yamllint disable-line rule:key-duplicates
1522 <<: *lf_packer_verify
1524 ######################
1525 # Default parameters #
1526 ######################
1528 git-url: '$GIT_URL/$GERRIT_PROJECT'
1530 #####################
1531 # Job Configuration #
1532 #####################
1535 - lf-infra-gerrit-scm:
1536 git-url: '{git-url}'
1537 refspec: '$GERRIT_REFSPEC'
1538 branch: '$GERRIT_BRANCH'
1539 submodule-recursive: '{submodule-recursive}'
1540 submodule-timeout: '{submodule-timeout}'
1541 choosing-strategy: gerrit
1542 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1546 server-name: '{gerrit-server-name}'
1547 trigger-on: '{obj:gerrit_verify_triggers}'
1549 - project-compare-type: ANT
1550 project-pattern: '{project}'
1552 - branch-compare-type: ANT
1553 branch-pattern: '**/{branch}'
1554 file-paths: '{obj:gerrit_trigger_file_paths}'
1557 name: '{project-name}-packer-verify'
1558 id: github-packer-verify
1559 <<: *lf_packer_common
1560 # yamllint disable-line rule:key-duplicates
1561 <<: *lf_packer_verify
1563 #####################
1564 # Job Configuration #
1565 #####################
1568 - lf-infra-properties:
1569 project: '{project}'
1570 build-days-to-keep: 7
1572 url: '{github-url}/{github-org}/{project}'
1575 - lf-infra-github-scm:
1576 url: '{git-clone-url}{github-org}/{project}'
1577 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1579 submodule-recursive: '{submodule-recursive}'
1580 submodule-timeout: '{submodule-timeout}'
1581 choosing-strategy: default
1582 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1585 - github-pull-request:
1586 trigger-phrase: '^(recheck|reverify)$'
1587 only-trigger-phrase: false
1588 status-context: 'Packer Verify'
1591 included-regions: '{obj:github_included_regions}'
1592 white-list-target-branches: