3 name: '{project-name}-ci-jobs'
6 - gerrit-jenkins-cfg-merge
7 - gerrit-jenkins-sandbox-cleanup
8 - gerrit-jjb-deploy-job
13 name: '{project-name}-github-ci-jobs'
16 - github-jenkins-cfg-merge
17 - github-jenkins-sandbox-cleanup
18 - github-jjb-deploy-job
23 name: '{project-name}-info-yaml-jobs'
26 - gerrit-info-yaml-verify
29 name: '{project-name}-github-info-yaml-jobs'
32 - github-info-yaml-verify
35 name: '{project-name}-packer-jobs'
39 - gerrit-packer-verify
42 name: '{project-name}-github-packer-jobs'
46 - github-packer-verify
55 - config-file-provider:
58 target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
61 name: lf-infra-jjbini-sandbox
62 # TODO: Consolidate this into jjbini when JJB2.0 is available.
64 - config-file-provider:
66 - file-id: jjbini-sandbox
67 target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
69 - lf_packer: &lf_packer_common
70 name: lf-packer-common
71 # Provide configuration common in packer jobs.
73 ######################
74 # Default parameters #
75 ######################
81 github-url: 'https://github.com'
83 submodule-recursive: true
84 packer-cloud-settings: packer-cloud-env
91 project-type: freestyle
93 disabled: '{disable-job}'
96 - lf-infra-properties:
101 - lf-infra-parameters:
105 lftools-version: '{lftools-version}'
106 - lf-packer-parameters:
107 packer-version: '{packer-version}'
111 build-timeout: '{build-timeout}'
112 jenkins-ssh-credential: '{jenkins-ssh-credential}'
118 name: lf-infra-jjb-parameters
122 default: '{jjb-version}'
123 description: Jenkins Job Builder version to download and install.
126 name: lf-packer-parameters
130 default: '{packer-version}'
131 description: Packer version to download and install.
133 - lf_jjb_common: &lf_jjb_common
136 ######################
137 # Default parameters #
138 ######################
143 github-url: 'https://github.com'
146 submodule-recursive: true
148 gerrit_trigger_file_paths:
149 - compare-type: REG_EXP
150 pattern: '.*\.groovy'
151 - compare-type: REG_EXP
153 - compare-type: REG_EXP
155 - compare-type: REG_EXP
157 - compare-type: REG_EXP
158 pattern: '.*\.(yaml|yml)'
159 - compare-type: REG_EXP
160 pattern: '.*\/global-jjb'
162 # github_included_regions MUST match gerrit_trigger_file_paths
163 github_included_regions:
171 #####################
172 # Job Configuration #
173 #####################
175 project-type: freestyle
177 disabled: '{disable-job}'
180 - lf-infra-properties:
182 build-days-to-keep: 7
185 - lf-infra-parameters:
189 lftools-version: '{lftools-version}'
190 - lf-infra-jjb-parameters:
191 jjb-version: '{jjb-version}'
195 build-timeout: '{build-timeout}'
196 jenkins-ssh-credential: '{jenkins-ssh-credential}'
201 ######################
202 # Gerrit Branch Lock #
203 ######################
206 name: '{project-name}-gerrit-branch-lock-{stream}'
207 id: gerrit-branch-lock
209 ######################
210 # Default parameters #
211 ######################
215 git-url: '$GIT_URL/$GERRIT_PROJECT'
217 gerrit_merge_triggers:
218 - comment-added-contains-event:
219 comment-contains-value: (un)?lock branch$
221 #####################
222 # Job Configuration #
223 #####################
225 project-type: freestyle
227 disabled: '{disable-job}'
230 - lf-infra-properties:
232 build-days-to-keep: 1
235 - lf-infra-parameters:
239 lftools-version: '{lftools-version}'
244 jenkins-ssh-credential: '{jenkins-ssh-credential}'
247 - lf-infra-gerrit-scm:
251 submodule-recursive: false
252 choosing-strategy: default
253 jenkins-ssh-credential: '{jenkins-ssh-credential}'
257 server-name: '{gerrit-server-name}'
258 trigger-on: '{obj:gerrit_merge_triggers}'
260 - project-compare-type: ANT
261 project-pattern: '{project}'
263 - branch-compare-type: ANT
264 branch-pattern: '**/{branch}'
267 - shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
273 ##########################################
274 # Jenkins Configuration Management Merge #
275 ##########################################
278 name: lf-jenkins-cfg-clouds
282 properties-content: 'jenkins_silos={jenkins-silos}'
283 - shell: !include-raw-escape: ../shell/jenkins-configure-clouds.sh
284 - shell: rm "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
287 name: lf-jenkins-cfg-global-vars
291 properties-content: 'jenkins_silos={jenkins-silos}'
292 - shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
293 - shell: rm "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
295 - lf_jenkins_configuration: &lf_jenkins_cfg_merge
296 name: lf-jenkins-cfg-merge
298 ######################
299 # Default parameters #
300 ######################
305 git-url: '$GIT_URL/$GERRIT_PROJECT'
306 github-url: 'https://github.com'
307 jenkins-silos: production sandbox
309 gerrit_merge_triggers:
310 - change-merged-event
311 - comment-added-contains-event:
312 comment-contains-value: remerge$
314 gerrit_trigger_file_paths:
315 - compare-type: REG_EXP
316 pattern: 'jenkins-config\/.*'
318 # github_included_regions MUST match gerrit_trigger_file_paths
319 github_included_regions:
320 - 'jenkins-config\/.*'
322 #####################
323 # Job Configuration #
324 #####################
326 project-type: freestyle
329 disabled: '{disable-job}'
332 - lf-infra-properties:
334 build-days-to-keep: 1
337 - lf-infra-parameters:
341 lftools-version: '{lftools-version}'
346 jenkins-ssh-credential: '{jenkins-ssh-credential}'
349 - shell: !include-raw-escape:
350 - ../shell/lftools-install.sh
351 - lf-jenkins-cfg-global-vars:
352 jenkins-silos: '{jenkins-silos}'
353 - lf-jenkins-cfg-clouds:
354 jenkins-silos: '{jenkins-silos}'
360 name: '{project-name}-jenkins-cfg-merge'
361 id: gerrit-jenkins-cfg-merge
362 <<: *lf_jenkins_cfg_merge
365 - lf-infra-gerrit-scm:
367 refspec: 'refs/heads/{branch}'
369 submodule-recursive: true
370 choosing-strategy: default
371 jenkins-ssh-credential: '{jenkins-ssh-credential}'
374 - timed: '{obj:cron}'
376 server-name: '{gerrit-server-name}'
377 trigger-on: '{obj:gerrit_merge_triggers}'
379 - project-compare-type: ANT
380 project-pattern: '{project}'
382 - branch-compare-type: ANT
383 branch-pattern: '**/{branch}'
384 file-paths: '{obj:gerrit_trigger_file_paths}'
387 name: '{project-name}-jenkins-cfg-merge'
388 id: github-jenkins-cfg-merge
389 <<: *lf_jenkins_cfg_merge
392 - lf-infra-properties:
394 build-days-to-keep: 1
396 url: '{github-url}/{github-org}/{project}'
399 - lf-infra-github-scm:
400 url: '{git-clone-url}{github-org}/{project}'
402 branch: 'refs/heads/{branch}'
403 submodule-recursive: true
404 choosing-strategy: default
405 jenkins-ssh-credential: '{jenkins-ssh-credential}'
408 - timed: '{obj:cron}'
412 - github-pull-request:
413 trigger-phrase: '^remerge$'
414 only-trigger-phrase: true
415 status-context: 'Jenkins CFG Merge'
420 white-list: '{obj:github_pr_whitelist}'
421 admin-list: '{obj:github_pr_admin_list}'
422 included-regions: '{obj:github_included_regions}'
423 white-list-target-branches:
427 ###########################
428 # JENKINS SANDBOX CLEANUP #
429 ###########################
431 - lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
432 name: lf-jenkins-sandbox-cleanup
434 ######################
435 # Default parameters #
436 ######################
439 # Run every Saturday at 08:00 UTC
443 #####################
444 # Job Configuration #
445 #####################
447 project-type: freestyle
450 disabled: '{disable-job}'
453 - lf-infra-jjb-parameters:
454 jjb-version: '{jjb-version}'
457 - timed: '{obj:cron}'
461 - shell: !include-raw-escape:
462 - ../shell/jjb-install.sh
463 - ../shell/jenkins-sandbox-cleanup.sh
464 - ../shell/jjb-cleanup.sh
467 name: '{project-name}-jenkins-sandbox-cleanup'
468 id: gerrit-jenkins-sandbox-cleanup
470 # yamllint disable-line rule:key-duplicates
471 <<: *lf_jenkins_sandbox_cleanup
474 name: '{project-name}-jenkins-sandbox-cleanup'
475 id: github-jenkins-sandbox-cleanup
477 # yamllint disable-line rule:key-duplicates
478 <<: *lf_jenkins_sandbox_cleanup
485 - lf_jjb_deploy_job: &lf_jjb_deploy_job
486 name: lf-jjb-deploy-job
488 ######################
489 # Default parameters #
490 ######################
494 # jjb-deploy should always clone $PROJECT regardless of what
495 # $GERRIT_PROJECT triggered the job.
496 git-url: '$GIT_URL/$PROJECT'
497 github-url: 'https://github.com'
499 gerrit_jjb_deploy_job_triggers:
500 - comment-added-contains-event:
501 comment-contains-value: 'jjb-deploy[:]* (?!\*+$).+$'
503 #####################
504 # Job Configuration #
505 #####################
507 project-type: freestyle
510 disabled: '{disable-job}'
513 - lf-infra-properties:
515 build-days-to-keep: 1
518 - lf-infra-parameters:
522 lftools-version: '{lftools-version}'
527 jenkins-ssh-credential: '{jenkins-ssh-credential}'
531 pip-packages: jenkins-job-builder
532 - lf-infra-jjbini-sandbox
533 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
539 name: '{project-name}-jjb-deploy-job'
540 id: gerrit-jjb-deploy-job
541 <<: *lf_jjb_deploy_job
544 - lf-infra-gerrit-scm:
546 refspec: 'refs/heads/{branch}'
548 submodule-recursive: true
549 choosing-strategy: default
550 jenkins-ssh-credential: '{jenkins-ssh-credential}'
554 server-name: '{gerrit-server-name}'
555 trigger-on: '{obj:gerrit_jjb_deploy_job_triggers}'
557 - project-compare-type: ANT
558 project-pattern: '**'
560 - branch-compare-type: ANT
569 name: '{project-name}-jjb-deploy-job'
570 id: github-jjb-deploy-job
571 <<: *lf_jjb_deploy_job
574 - lf-infra-properties:
576 build-days-to-keep: 1
578 url: '{github-url}/{github-org}/{project}'
581 - lf-infra-github-scm:
582 url: '{git-clone-url}{github-org}/{project}'
583 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
585 submodule-recursive: true
586 choosing-strategy: default
587 jenkins-ssh-credential: '{jenkins-ssh-credential}'
590 - github-pull-request:
591 trigger-phrase: '^jjb-deploy (?!\*+$).+$'
592 only-trigger-phrase: true
593 status-context: 'JJB Deploy Job'
596 white-list-target-branches:
603 - lf_jjb_merge: &lf_jjb_merge
606 ######################
607 # Default parameters #
608 ######################
610 gerrit_merge_triggers:
611 - change-merged-event
612 - comment-added-contains-event:
613 comment-contains-value: remerge$
615 #####################
616 # Job Configuration #
617 #####################
622 - shell: !include-raw-escape:
623 - ../shell/jjb-install.sh
624 - ../shell/jjb-merge-job.sh
625 - ../shell/jjb-cleanup.sh
628 name: '{project-name}-jjb-merge'
631 # yamllint disable-line rule:key-duplicates
634 git-url: '$GIT_URL/$GERRIT_PROJECT'
637 - lf-infra-gerrit-scm:
641 submodule-recursive: '{submodule-recursive}'
642 choosing-strategy: default
643 jenkins-ssh-credential: '{jenkins-ssh-credential}'
647 server-name: '{gerrit-server-name}'
648 trigger-on: '{obj:gerrit_merge_triggers}'
650 - project-compare-type: ANT
651 project-pattern: '{project}'
653 - branch-compare-type: ANT
654 branch-pattern: '**/{branch}'
655 file-paths: '{obj:gerrit_trigger_file_paths}'
658 name: '{project-name}-jjb-merge'
661 # yamllint disable-line rule:key-duplicates
664 #####################
665 # Job Configuration #
666 #####################
669 - lf-infra-properties:
671 build-days-to-keep: 7
673 url: '{github-url}/{github-org}/{project}'
676 - lf-infra-github-scm:
677 url: '{git-clone-url}{github-org}/{project}'
679 branch: 'refs/heads/{branch}'
680 submodule-recursive: '{submodule-recursive}'
681 choosing-strategy: default
682 jenkins-ssh-credential: '{jenkins-ssh-credential}'
688 - github-pull-request:
689 trigger-phrase: '^remerge$'
690 only-trigger-phrase: true
691 status-context: 'JJB Merge'
696 white-list: '{obj:github_pr_whitelist}'
697 admin-list: '{obj:github_pr_admin_list}'
698 included-regions: '{obj:github_included_regions}'
699 white-list-target-branches:
706 - lf_jjb_verify: &lf_jjb_verify
709 ######################
710 # Default parameters #
711 ######################
713 gerrit_verify_triggers:
714 - patchset-created-event:
716 exclude-trivial-rebase: false
717 exclude-no-code-change: false
718 - draft-published-event
719 - comment-added-contains-event:
720 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
722 #####################
723 # Job Configuration #
724 #####################
731 - shell: !include-raw-escape:
732 - ../shell/git-validate-jira-urls.sh
733 - ../shell/jjb-install.sh
734 - ../shell/jjb-verify-job.sh
735 - ../shell/jjb-check-unicode.sh
736 - ../shell/jjb-cleanup.sh
737 - lf-infra-gpg-verify-git-signature
740 name: '{project-name}-jjb-verify'
741 id: gerrit-jjb-verify
743 # yamllint disable-line rule:key-duplicates
746 ######################
747 # Default parameters #
748 ######################
750 git-url: '$GIT_URL/$GERRIT_PROJECT'
752 #####################
753 # Job Configuration #
754 #####################
757 - lf-infra-gerrit-scm:
759 refspec: '$GERRIT_REFSPEC'
760 branch: '$GERRIT_BRANCH'
761 submodule-recursive: '{submodule-recursive}'
762 choosing-strategy: gerrit
763 jenkins-ssh-credential: '{jenkins-ssh-credential}'
767 server-name: '{gerrit-server-name}'
768 trigger-on: '{obj:gerrit_verify_triggers}'
770 - project-compare-type: ANT
771 project-pattern: '{project}'
773 - branch-compare-type: ANT
774 branch-pattern: '**/{branch}'
775 file-paths: '{obj:gerrit_trigger_file_paths}'
778 name: '{project-name}-jjb-verify'
779 id: github-jjb-verify
781 # yamllint disable-line rule:key-duplicates
784 #####################
785 # Job Configuration #
786 #####################
789 - lf-infra-properties:
791 build-days-to-keep: 7
793 url: '{github-url}/{github-org}/{project}'
796 - lf-infra-github-scm:
797 url: '{git-clone-url}{github-org}/{project}'
798 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
800 submodule-recursive: '{submodule-recursive}'
801 choosing-strategy: default
802 jenkins-ssh-credential: '{jenkins-ssh-credential}'
805 - github-pull-request:
806 trigger-phrase: '^(recheck|reverify)$'
807 only-trigger-phrase: false
808 status-context: 'JJB Verify'
811 included-regions: '{obj:github_included_regions}'
812 white-list-target-branches:
815 ############################
816 # JJB Verify Upstream GJJB #
817 ############################
819 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
820 name: lf-jjb-verify-upstream-gjjb
822 #####################
823 # Job Configuration #
824 #####################
831 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
832 git cherry-pick FETCH_HEAD
834 - shell: !include-raw-escape:
835 - ../shell/git-validate-jira-urls.sh
836 - ../shell/jjb-install.sh
837 - ../shell/jjb-verify-job.sh
838 - ../shell/jjb-check-unicode.sh
839 - ../shell/jjb-cleanup.sh
840 - lf-infra-gpg-verify-git-signature
843 name: '{project-name}-jjb-verify-upstream-gjjb'
844 id: gerrit-jjb-verify-upstream-gjjb
846 # yamllint disable-line rule:key-duplicates
847 <<: *lf_jjb_verify_upstream_gjjb
849 ######################
850 # Default parameters #
851 ######################
853 git-url: '$GIT_URL/$PROJECT'
855 #####################
856 # Job Configuration #
857 #####################
860 - lf-infra-gerrit-scm:
864 submodule-recursive: true
865 choosing-strategy: default
866 jenkins-ssh-credential: '{jenkins-ssh-credential}'
870 server-name: 'LinuxFoundation'
872 - patchset-created-event:
874 exclude-trivial-rebase: false
875 exclude-no-code-change: false
876 - draft-published-event
877 - comment-added-contains-event:
878 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
880 - project-compare-type: ANT
881 project-pattern: 'releng/global-jjb'
883 - branch-compare-type: ANT
884 branch-pattern: '**/master'
886 gerrit-build-failed-codereview-value: -1
887 gerrit-build-failed-verified-value: 0
888 gerrit-build-successful-codereview-value: 1
889 gerrit-build-successful-verified-value: 0
895 - lf_license_check: &lf_license_check
896 name: lf-license-check
898 ######################
899 # Default parameters #
900 ######################
903 build-days-to-keep: 7
912 git-url: '$GIT_URL/$PROJECT'
913 github-url: 'https://github.com'
915 license-exclude-paths: ''
916 licenses-allowed: Apache-2.0,EPL-1.0,MIT
917 project-pattern: '**'
921 #####################
922 # Job Configuration #
923 #####################
925 project-type: freestyle
928 disabled: '{disable-job}'
931 - lf-infra-properties:
932 build-days-to-keep: '{build-days-to-keep}'
935 - lf-infra-parameters:
939 lftools-version: '{lftools-version}'
943 build-timeout: '{build-timeout}'
944 jenkins-ssh-credential: '{jenkins-ssh-credential}'
948 file-patterns: '{file-patterns}'
949 spdx-disable: '{spdx-disable}'
950 lhc-version: '{lhc-version}'
951 license-exclude-paths: '{license-exclude-paths}'
952 licenses-allowed: '{licenses-allowed}'
958 name: '{project-name}-license-check'
959 id: gerrit-license-check
960 <<: *lf_license_check
962 git-url: '$GIT_URL/$GERRIT_PROJECT'
965 - lf-infra-gerrit-scm:
967 refspec: '$GERRIT_REFSPEC'
968 branch: '$GERRIT_BRANCH'
969 # Submodules are out of the project's control
970 submodule-recursive: false
971 choosing-strategy: gerrit
972 jenkins-ssh-credential: '{jenkins-ssh-credential}'
976 server-name: '{gerrit-server-name}'
977 # Trigger should not be overridable as we want to always run
979 - patchset-created-event:
980 exclude-drafts: false
981 exclude-trivial-rebase: false
982 exclude-no-code-change: false
983 - draft-published-event
984 - comment-added-contains-event:
985 comment-contains-value: recheck$
987 - project-compare-type: ANT
988 project-pattern: '{project-pattern}'
990 - branch-compare-type: ANT
994 name: '{project-name}-license-check'
995 id: github-license-check
996 <<: *lf_license_check
999 - lf-infra-properties:
1000 build-days-to-keep: '{build-days-to-keep}'
1002 url: '{github-url}/{github-org}/{project}'
1005 - lf-infra-github-scm:
1006 url: '{git-clone-url}{github-org}/{project}'
1007 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1009 # Submodules are out of the project's control
1010 submodule-recursive: false
1011 choosing-strategy: default
1012 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1015 - github-pull-request:
1016 trigger-phrase: '^recheck$'
1017 only-trigger-phrase: false
1018 status-context: 'License Check'
1021 white-list-target-branches:
1024 ####################
1025 # Info YAML Verify #
1026 ####################
1028 - lf_info_yaml_verify: &lf_info_yaml_verify
1029 name: lf-info-yaml-verify
1031 ######################
1032 # Default parameters #
1033 ######################
1035 gerrit_verify_triggers:
1036 - patchset-created-event:
1037 exclude-drafts: true
1038 exclude-trivial-rebase: false
1039 exclude-no-code-change: false
1040 - draft-published-event
1041 - comment-added-contains-event:
1042 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1044 #####################
1045 # Job Configuration #
1046 #####################
1051 - shell: !include-raw-escape:
1052 - ../shell/git-validate-info-yaml.sh
1053 - ../shell/info-file-validate.sh
1056 name: '{project-name}-info-yaml-verify'
1057 id: gerrit-info-yaml-verify
1059 # yamllint disable-line rule:key-duplicates
1060 <<: *lf_info_yaml_verify
1062 git-url: '$GIT_URL/$GERRIT_PROJECT'
1065 - lf-infra-gerrit-scm:
1066 git-url: '{git-url}'
1067 refspec: '$GERRIT_REFSPEC'
1068 branch: '$GERRIT_BRANCH'
1069 submodule-recursive: '{submodule-recursive}'
1070 choosing-strategy: gerrit
1071 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1075 server-name: '{gerrit-server-name}'
1076 trigger-on: '{obj:gerrit_verify_triggers}'
1078 - project-compare-type: ANT
1079 project-pattern: '{project}'
1081 - branch-compare-type: ANT
1082 branch-pattern: '**/{branch}'
1084 - compare-type: REG_EXP
1085 pattern: 'INFO.yaml'
1088 name: '{project-name}-info-yaml-verify'
1089 id: github-info-yaml-verify
1091 # yamllint disable-line rule:key-duplicates
1092 <<: *lf_info_yaml_verify
1094 github-url: 'https://github.com'
1097 url: '{github-url}/{github-org}/{project}'
1100 - lf-infra-github-scm:
1101 url: '{git-clone-url}{github-org}/{project}'
1102 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1104 submodule-recursive: '{submodule-recursive}'
1105 choosing-strategy: default
1106 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1109 - github-pull-request:
1110 trigger-phrase: '^(recheck|reverify)$'
1111 only-trigger-phrase: false
1112 status-context: 'INFO File Verify'
1115 # included-regions MUST match gerrit file-paths
1116 included-regions: 'INFO.yaml'
1117 white-list-target-branches:
1124 - lf_openstack_cron: &lf_openstack_cron
1125 name: lf-openstack-cron
1127 ######################
1128 # Default parameters #
1129 ######################
1132 build-days-to-keep: 7
1136 git-url: '$GIT_URL/$PROJECT'
1137 github-url: 'https://github.com'
1138 openstack-cloud: vex
1141 #####################
1142 # Job Configuration #
1143 #####################
1145 project-type: freestyle
1146 node: '{build-node}'
1148 disabled: '{disable-job}'
1151 - lf-infra-properties:
1152 build-days-to-keep: '{build-days-to-keep}'
1155 - lf-infra-parameters:
1156 project: '{project}'
1159 lftools-version: '{lftools-version}'
1162 - lf-infra-wrappers:
1163 build-timeout: '{build-timeout}'
1164 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1165 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1166 - config-file-provider:
1168 - file-id: clouds-yaml
1169 target: '$HOME/.config/openstack/clouds.yaml'
1171 target: '$HOME/.npmrc'
1173 target: '$HOME/.config/pip/pip.conf'
1176 - timed: '{obj:cron}'
1180 properties-content: OS_CLOUD={openstack-cloud}
1181 - shell: !include-raw-escape: ../shell/openstack-install.sh
1182 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1188 name: '{project-name}-openstack-cron'
1189 id: gerrit-openstack-cron
1190 <<: *lf_openstack_cron
1193 - lf-infra-gerrit-scm:
1194 git-url: '{git-url}'
1195 refspec: 'refs/heads/{branch}'
1197 submodule-recursive: true
1198 choosing-strategy: default
1199 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1202 name: '{project-name}-openstack-cron'
1203 id: github-openstack-cron
1204 <<: *lf_openstack_cron
1207 - lf-infra-github-scm:
1208 url: '{git-clone-url}{github-org}/{project}'
1210 branch: 'refs/heads/{branch}'
1211 submodule-recursive: true
1212 choosing-strategy: default
1213 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1219 - lf_packer_merge: &lf_packer_merge
1220 name: lf-packer-merge
1222 #####################
1223 # Job Configuration #
1224 #####################
1227 - lf-infra-packer-build:
1228 packer-cloud-settings: '{packer-cloud-settings}'
1229 packer-version: '{packer-version}'
1230 platform: '{platforms}'
1231 template: '{templates}'
1234 name: '{project-name}-packer-merge-{platforms}-{templates}'
1235 id: gerrit-packer-merge
1236 <<: *lf_packer_common
1237 # yamllint disable-line rule:key-duplicates
1238 <<: *lf_packer_merge
1240 ######################
1241 # Default parameters #
1242 ######################
1244 git-url: '$GIT_URL/$GERRIT_PROJECT'
1246 gerrit_merge_triggers:
1247 - change-merged-event
1248 - comment-added-contains-event:
1249 comment-contains-value: remerge$
1251 #####################
1252 # Job Configuration #
1253 #####################
1256 - lf-infra-gerrit-scm:
1257 git-url: '{git-url}'
1258 refspec: '$GERRIT_REFSPEC'
1259 branch: '$GERRIT_BRANCH'
1260 submodule-recursive: '{submodule-recursive}'
1261 choosing-strategy: gerrit
1262 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1265 - timed: '{obj:cron}'
1267 server-name: '{gerrit-server-name}'
1268 trigger-on: '{obj:gerrit_merge_triggers}'
1270 - project-compare-type: ANT
1271 project-pattern: '{project}'
1273 - branch-compare-type: ANT
1274 branch-pattern: '**/{branch}'
1276 - compare-type: REG_EXP
1277 pattern: 'packer\/provision\/.*\.sh'
1278 - compare-type: REG_EXP
1279 pattern: 'packer\/provision\/.*\.bat'
1280 - compare-type: REG_EXP
1281 pattern: 'packer\/provision\/.*\.ps1'
1282 - compare-type: REG_EXP
1283 pattern: 'packer\/provision\/{templates}\.yaml'
1284 - compare-type: REG_EXP
1285 pattern: 'packer\/provision\/local-{templates}\.yaml'
1286 - compare-type: REG_EXP
1287 pattern: 'packer\/templates\/{templates}\.json'
1288 - compare-type: REG_EXP
1289 pattern: 'packer\/vars\/{platforms}\.json'
1292 name: '{project-name}-packer-merge-{platforms}-{templates}'
1293 id: github-packer-merge
1294 <<: *lf_packer_common
1295 # yamllint disable-line rule:key-duplicates
1296 <<: *lf_packer_merge
1298 #####################
1299 # Job Configuration #
1300 #####################
1303 - lf-infra-properties:
1304 project: '{project}'
1305 build-days-to-keep: 7
1307 url: '{github-url}/{github-org}/{project}'
1310 - lf-infra-github-scm:
1311 url: '{git-clone-url}{github-org}/{project}'
1313 branch: 'refs/heads/{branch}'
1314 submodule-recursive: '{submodule-recursive}'
1315 choosing-strategy: default
1316 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1319 - timed: '{obj:cron}'
1324 - github-pull-request:
1325 trigger-phrase: '^remerge$'
1326 only-trigger-phrase: true
1327 status-context: 'Packer {platforms}-{templates} Merge'
1332 white-list: '{obj:github_pr_whitelist}'
1333 admin-list: '{obj:github_pr_admin_list}'
1334 # included-regions MUST match Gerrit Trigger file-paths
1336 - 'packer\/provision\/.*\.sh'
1337 - 'packer\/provision\/.*\.bat'
1338 - 'packer\/provision\/.*\.ps1'
1339 - 'packer\/provision\/{templates}\.yaml'
1340 - 'packer\/provision\/local-{templates}\.yaml'
1341 - 'packer\/templates\/{templates}\.json'
1342 - 'packer\/vars\/{platforms}\.json'
1343 white-list-target-branches:
1350 - lf_packer_verify: &lf_packer_verify
1351 name: lf-packer-verify
1353 ######################
1354 # Default parameters #
1355 ######################
1359 gerrit_verify_triggers:
1360 - patchset-created-event:
1361 exclude-drafts: true
1362 exclude-trivial-rebase: false
1363 exclude-no-code-change: false
1364 - draft-published-event
1365 - comment-added-contains-event:
1366 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1368 gerrit_trigger_file_paths:
1369 - compare-type: REG_EXP
1370 pattern: 'packer\/.*'
1372 # github_included_regions MUST match gerrit_trigger_file_paths
1373 github_included_regions:
1376 #####################
1377 # Job Configuration #
1378 #####################
1383 - lf-infra-packer-validate:
1384 packer-cloud-settings: '{packer-cloud-settings}'
1385 packer-version: '{packer-version}'
1388 name: '{project-name}-packer-verify'
1389 id: gerrit-packer-verify
1390 <<: *lf_packer_common
1391 # yamllint disable-line rule:key-duplicates
1392 <<: *lf_packer_verify
1394 ######################
1395 # Default parameters #
1396 ######################
1398 git-url: '$GIT_URL/$GERRIT_PROJECT'
1400 #####################
1401 # Job Configuration #
1402 #####################
1405 - lf-infra-gerrit-scm:
1406 git-url: '{git-url}'
1407 refspec: '$GERRIT_REFSPEC'
1408 branch: '$GERRIT_BRANCH'
1409 submodule-recursive: '{submodule-recursive}'
1410 choosing-strategy: gerrit
1411 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1415 server-name: '{gerrit-server-name}'
1416 trigger-on: '{obj:gerrit_verify_triggers}'
1418 - project-compare-type: ANT
1419 project-pattern: '{project}'
1421 - branch-compare-type: ANT
1422 branch-pattern: '**/{branch}'
1423 file-paths: '{obj:gerrit_trigger_file_paths}'
1426 name: '{project-name}-packer-verify'
1427 id: github-packer-verify
1428 <<: *lf_packer_common
1429 # yamllint disable-line rule:key-duplicates
1430 <<: *lf_packer_verify
1432 #####################
1433 # Job Configuration #
1434 #####################
1437 - lf-infra-properties:
1438 project: '{project}'
1439 build-days-to-keep: 7
1441 url: '{github-url}/{github-org}/{project}'
1444 - lf-infra-github-scm:
1445 url: '{git-clone-url}{github-org}/{project}'
1446 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1448 submodule-recursive: '{submodule-recursive}'
1449 choosing-strategy: default
1450 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1453 - github-pull-request:
1454 trigger-phrase: '^(recheck|reverify)$'
1455 only-trigger-phrase: false
1456 status-context: 'Packer Verify'
1459 included-regions: '{obj:github_included_regions}'
1460 white-list-target-branches: