c70712dbdca2f00c129c8096c281c6405d729808
[ci-management.git] / jjb / integration / integration-templates.yaml
1 ---
2 - job-template:
3     # Job template for verifying Vagrantfiles
4     #
5     # The purpose of this job template is to run:
6     # vagrant validate
7
8     name: '{project-name}-{stream}-verify-vagrantfile'
9     project-type: freestyle
10     description: 'Job intended for validating vagrantfiles'
11     node: ubuntu2004-builder-4c-4g
12
13     parameters:
14       - lf-infra-parameters:
15           project: '{project}'
16           stream: '{stream}'
17           branch: '{branch}'
18
19     properties:
20       - infra-properties:
21           build-days-to-keep: '{build-days-to-keep}'
22
23     scm:
24       - gerrit-trigger-scm:
25           refspec: '$GERRIT_REFSPEC'
26           choosing-strategy: 'gerrit'
27           submodule-recursive: '{submodule-recursive}'
28
29     wrappers:
30       - infra-wrappers:
31           build-timeout: '{build-timeout}'
32
33     triggers:
34       - gerrit-trigger-patch-submitted:
35           server: '{server-name}'
36           project: '{project}'
37           branch: '{branch}'
38           files: '**/Vagrantfile'
39
40     builders:
41       - integration-install-vagrant
42       - shell: !include-raw-escape: 'vagrantfile-verify.sh'
43
44     publishers:
45       - lf-infra-publish
46
47 - job-template: &tox_verify_boilerplate
48     # Job template for running linters against specific file formats
49     #
50     # Required Variables:
51     #     python-version: Python version to deploy in venv
52     #     tox-env:        Tox environments to run
53     #     tox-dir:        Directory containing the project's tox.ini
54     #     pattern:        List of file patterns to scan
55
56     name: '{project-name}-{stream}-{subproject}-lint'
57     id: integration-linters
58     project-type: freestyle
59     description: 'Job intended for running linters with Tox and Coala'
60     build-node: ubuntu2004-builder-4c-4g
61     node: '{build-node}'
62
63     parameters:
64       - lf-infra-parameters:
65           project: '{project}'
66           stream: '{stream}'
67           branch: '{branch}'
68       - lf-infra-tox-parameters:
69           tox-dir: '{tox-dir}'
70           tox-envs: '{tox-envs}'
71
72     properties:
73       - infra-properties:
74           build-days-to-keep: '{build-days-to-keep}'
75
76     scm:
77       - gerrit-trigger-scm:
78           refspec: '$GERRIT_REFSPEC'
79           choosing-strategy: 'gerrit'
80           submodule-recursive: '{submodule-recursive}'
81
82     wrappers:
83       - infra-wrappers:
84           build-timeout: '{build-timeout}'
85
86     triggers:
87       - gerrit-trigger-patch-submitted:
88           server: '{server-name}'
89           project: '{project}'
90           branch: '{branch}'
91           files: '{pattern}'
92
93     builders:
94       - lf-infra-tox-install:
95           python-version: '{python-version}'
96       - lf-infra-tox-run:
97           parallel: 'false'
98
99     publishers:
100       - lf-infra-publish
101
102 - job-template:
103     <<: *tox_verify_boilerplate
104     name: '{project-name}-{stream}-{subproject}-tox-verify'
105     id: integration-tox-verify
106     description: 'Job intended for running tox'
107
108 - job-template:
109     <<: *tox_verify_boilerplate
110     name: '{project-name}-{stream}-{subproject}-terraform-verify'
111     terraform-version: 0.13.2
112     terragrunt-version: 0.24.1
113     python-version: python3
114     id: integration-terraform-verify
115     description: 'Job intended for validating terraform modules'
116
117     parameters:
118       - lf-infra-parameters:
119           project: '{project}'
120           stream: '{stream}'
121           branch: '{branch}'
122       - lf-infra-tox-parameters:
123           tox-dir: '{tox-dir}'
124           tox-envs: '{tox-envs}'
125       - integration-terraform-version:
126           terraform-version: '{terraform-version}'
127       - integration-terragrunt-version:
128           terragrunt-version: '{terragrunt-version}'
129
130     builders:
131       - integration-install-terraform
132       - integration-install-terragrunt
133       - lf-infra-tox-install:
134           python-version: '{python-version}'
135       - lf-infra-tox-run:
136           parallel: 'false'