Fix: Run docker login for gradle build jobs
[releng/global-jjb.git] / jjb / lf-gradle-jobs.yaml
1 ####################
2 # COMMON FUNCTIONS #
3 ####################
4
5 - _lf_gradle_common: &lf_gradle_common
6     name: lf-gradle-common
7
8     ######################
9     # Default parameters #
10     ######################
11
12     branch: master
13     build-days-to-keep: 7
14     build-timeout: 60
15     disable-job: false
16     git-url: "$GIT_URL/$PROJECT"
17     github-url: https://github.com
18     java-version: openjdk17
19     stream: master
20     submodule-recursive: true
21     submodule-timeout: 10
22     submodule-disable: false
23     cron: "@daily"
24
25     archive-artifacts: >
26       **/*.log
27       **/hs_err_*.log
28       **/target/**/feature.xml
29       **/target/failsafe-reports/failsafe-summary.xml
30       **/target/surefire-reports/*-output.txt
31
32     #####################
33     # Job Configuration #
34     #####################
35
36     project-type: freestyle
37     node: "{build-node}"
38
39     properties:
40       - lf-infra-properties:
41           build-days-to-keep: "{build-days-to-keep}"
42
43     parameters:
44       - lf-infra-parameters:
45           project: "{project}"
46           branch: "{branch}"
47           stream: "{stream}"
48       - string:
49           name: ARCHIVE_ARTIFACTS
50           default: "{archive-artifacts}"
51           description: Artifacts to archive to the logs server.
52
53     wrappers:
54       - lf-infra-wrappers:
55           build-timeout: "{build-timeout}"
56           jenkins-ssh-credential: "{jenkins-ssh-credential}"
57
58     publishers:
59       - lf-infra-publish
60
61     gerrit_gradle_triggers:
62       - patchset-created-event:
63           exclude-drafts: true
64           exclude-trivial-rebase: false
65           exclude-no-code-change: false
66       - draft-published-event
67       - comment-added-contains-event:
68           comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
69
70     gerrit_trigger_file_paths:
71       - compare-type: REG_EXP
72         pattern: ".*"
73
74 - job-template:
75     name: "{project-name}-gradle-build-{stream}"
76     id: gerrit-gradle-build
77     <<: *lf_gradle_common
78
79     builders:
80       - lf-infra-pre-build
81       - lf-update-java-alternatives:
82           java-version: "{java-version}"
83       - lf-infra-docker-login:
84           global-settings-file: "global-settings"
85           settings-file: "{mvn-settings}"
86       - shell: |
87           ./gradlew build
88
89     scm:
90       - lf-infra-gerrit-scm:
91           jenkins-ssh-credential: "{jenkins-ssh-credential}"
92           git-url: "{git-url}"
93           refspec: "$GERRIT_REFSPEC"
94           branch: "$GERRIT_BRANCH"
95           submodule-recursive: "{submodule-recursive}"
96           submodule-timeout: "{submodule-timeout}"
97           submodule-disable: "{submodule-disable}"
98           choosing-strategy: default
99
100     triggers:
101       - timed: "{obj:cron}"
102       - gerrit:
103           server-name: "{gerrit-server-name}"
104           trigger-on: "{obj:gerrit_gradle_triggers}"
105           projects:
106             - project-compare-type: ANT
107               project-pattern: "{project}"
108               branches:
109                 - branch-compare-type: ANT
110                   branch-pattern: "**/{branch}"
111               file-paths: "{obj:gerrit_trigger_file_paths}"
112
113 - job-template:
114     name: "{project-name}-gradle-build-{stream}"
115     id: github-gradle-build
116     <<: *lf_gradle_common
117
118     builders:
119       - lf-infra-pre-build
120       - lf-update-java-alternatives:
121           java-version: "{java-version}"
122       - lf-infra-docker-login:
123           global-settings-file: "global-settings"
124           settings-file: "{mvn-settings}"
125       - shell: |
126           ./gradlew build
127
128     scm:
129       - lf-infra-github-scm:
130           url: "{git-clone-url}{github-org}/{project}"
131           refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
132           branch: "$sha1"
133           submodule-recursive: "{submodule-recursive}"
134           submodule-timeout: "{submodule-timeout}"
135           submodule-disable: "{submodule-disable}"
136           choosing-strategy: default
137           jenkins-ssh-credential: "{jenkins-ssh-credential}"
138
139     triggers:
140       - github-pull-request:
141           trigger-phrase: ^(recheck|reverify)$
142           only-trigger-phrase: false
143           status-context: "Gradle Verify"
144           permit-all: true
145           github-hooks: true
146           white-list-target-branches:
147             - "{branch}"