Allow projects to set their tox-dir
[releng/global-jjb.git] / jjb / lf-rtdv3-jobs.yaml
1 ---
2 - lf_rtdv3_common: &lf_rtdv3_common
3     name: lf-rtdv3-common
4
5     ######################
6     # Default parameters #
7     ######################
8
9     branch: master
10     stream: master
11     default-version: latest
12     disabled: "{disable-job}"
13     build-days-to-keep: 7
14     build-timeout: 15
15     disable-job: false
16     git-url: "$GIT_URL/$PROJECT"
17     submodule-recursive: true
18     submodule-disable: false
19     submodule-timeout: 10
20     tox-dir: "."
21     gerrit-skip-vote: false
22
23     gerrit_trigger_file_paths:
24       - compare-type: REG_EXP
25         pattern: '^docs\/.*'
26
27     #####################
28     # Job Configuration #
29     #####################
30
31     project-type: freestyle
32     node: "{build-node}"
33
34     properties:
35       - lf-infra-properties:
36           build-days-to-keep: 7
37
38     parameters:
39       - lf-infra-parameters:
40           project: $GERRIT_PROJECT
41           branch: "{branch}"
42           refspec: "refs/heads/{branch}"
43           stream: "{stream}"
44
45     wrappers:
46       - lf-infra-wrappers:
47           build-timeout: "{build-timeout}"
48           jenkins-ssh-credential: "{jenkins-ssh-credential}"
49
50     publishers:
51       - lf-infra-publish
52
53     builders:
54       - conditional-step:
55           condition-kind: file-exists
56           condition-filename: .readthedocs.yaml
57           on-evaluation-failure: dont-run
58           steps:
59             - config-file-provider:
60                 files:
61                   - file-id: lftoolsini
62                     target: "$HOME/.config/lftools/lftools.ini"
63             - lf-infra-pre-build
64             - lf-infra-tox-install:
65                 python-version: "python3"
66             - inject:
67                 properties-content: |
68                   TOX_ENVS=docs,docs-linkcheck
69                   TOX_DIR={tox-dir}
70             - lf-infra-tox-run:
71                 parallel: "true"
72             - lf-rtdv3-build:
73                 default-version: "{default-version}"
74
75 - job-template:
76     name: "rtdv3-global-verify-{stream}"
77     id: rtdv3-global-verify
78     <<: *lf_rtdv3_common
79     # yamllint disable-line rule:key-duplicates
80
81     stream: master
82
83     gerrit_verify_triggers:
84       - patchset-created-event:
85           exclude-drafts: true
86           exclude-trivial-rebase: false
87           exclude-no-code-change: false
88       - draft-published-event
89       - comment-added-contains-event:
90           comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
91
92     scm:
93       - lf-infra-gerrit-scm:
94           branch: "$GERRIT_BRANCH"
95           jenkins-ssh-credential: "{jenkins-ssh-credential}"
96           git-url: "{git-url}"
97           refspec: "$GERRIT_REFSPEC"
98           submodule-recursive: "{submodule-recursive}"
99           submodule-timeout: "{submodule-timeout}"
100           submodule-disable: "{submodule-disable}"
101           choosing-strategy: gerrit
102
103     triggers:
104       - gerrit:
105           server-name: "{gerrit-server-name}"
106           trigger-on: "{obj:gerrit_verify_triggers}"
107           projects:
108             - project-compare-type: "ANT"
109               project-pattern: "**"
110               branches:
111                 - branch-compare-type: "ANT"
112                   branch-pattern: "**/{branch}"
113                 - branch-compare-type: "ANT"
114                   branch-pattern: "refs/tags/**"
115               file-paths: "{obj:gerrit_trigger_file_paths}"
116               forbidden-file-paths:
117                 - compare-type: REG_EXP
118                   pattern: ".*global-jjb.*"
119
120           skip-vote:
121             successful: "{gerrit-skip-vote}"
122             failed: "{gerrit-skip-vote}"
123             unstable: "{gerrit-skip-vote}"
124             notbuilt: "{gerrit-skip-vote}"
125
126 - job-template:
127     name: "rtdv3-global-merge-{stream}"
128     id: rtdv3-global-merge
129     <<: *lf_rtdv3_common
130
131     ######################
132     # Default parameters #
133     ######################
134
135     branch: "{branch}"
136
137     gerrit_merge_triggers:
138       - change-merged-event
139       - comment-added-contains-event:
140           comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
141       - ref-updated-event
142
143     #####################
144     # Job Configuration #
145     #####################
146
147     disabled: "{disable-job}"
148
149     scm:
150       - lf-infra-gerrit-scm:
151           jenkins-ssh-credential: "{jenkins-ssh-credential}"
152           refspec: "$GERRIT_REFSPEC"
153           branch: "$GERRIT_BRANCH"
154           git-url: "{git-url}"
155           submodule-disable: true
156           submodule-recursive: false
157           submodule-timeout: 10
158           choosing-strategy: default
159
160     triggers:
161       - gerrit:
162           server-name: "{gerrit-server-name}"
163           trigger-on: "{obj:gerrit_merge_triggers}"
164           projects:
165             - project-compare-type: "ANT"
166               project-pattern: "**"
167               branches:
168                 - branch-compare-type: "ANT"
169                   branch-pattern: "**/{branch}"
170                 - branch-compare-type: "ANT"
171                   branch-pattern: "refs/tags/**"
172               file-paths: "{obj:gerrit_trigger_file_paths}"
173               forbidden-file-paths:
174                 - compare-type: REG_EXP
175                   pattern: ".*global-jjb.*"