Merge "CI: Remove deprecated arm64 nodes"
[ci-management.git] / jjb / global-templates-c.yaml
1 ---
2 ####################
3 # COMMON FUNCTIONS #
4 ####################
5
6 - _c_job_common: &c_job_common
7     name: c-job-common
8
9     ######################
10     # Default parameters #
11     ######################
12
13     branch: master
14     submodule-recursive: true
15     submodule-disable: false
16     submodule-timeout: 10
17
18     #####################
19     # Job Configuration #
20     #####################
21
22     project-type: freestyle
23     node: "{build-node}"
24     disabled: false
25
26     properties:
27       - infra-properties:
28           build-days-to-keep: "{build-days-to-keep}"
29
30     parameters:
31       - lf-infra-parameters:
32           project: "{project}"
33           branch: "{branch}"
34           stream: "{stream}"
35
36     scm:
37       - lf-infra-gerrit-scm:
38           jenkins-ssh-credential: "{jenkins-ssh-credential}"
39           git-url: "$GIT_URL/$PROJECT"
40           refspec: "$GERRIT_REFSPEC"
41           branch: "$GERRIT_BRANCH"
42           submodule-recursive: "{submodule-recursive}"
43           submodule-disable: "{submodule-disable}"
44           submodule-timeout: "{submodule-timeout}"
45           choosing-strategy: default
46
47     wrappers:
48       - lf-infra-wrappers:
49           build-timeout: "{build-timeout}"
50           jenkins-ssh-credential: "{jenkins-ssh-credential}"
51
52     publishers:
53       - lf-infra-publish
54
55 - job-template:
56     #
57     # job template for build C/C++ project
58     #
59     # Required Variables:
60     #   script:         build script to execute
61     #
62     name: "{project-name}-{stream}-verify-c"
63     id: gerrit-verify-c
64     <<: *c_job_common
65
66     triggers:
67       - gerrit-trigger-patch-submitted:
68           server: "{server-name}"
69           project: "{project}"
70           branch: "{branch}"
71           files: "**"
72
73     builders:
74       - lf-infra-pre-build
75       - shell: "{script}"
76
77 - job-template:
78     # Job template for building & pushing docker images
79     #
80     # The purpose of this job template is to run:
81     #  1. login to the docker registry
82     #  2. run a specified shell builder
83     #
84     name: "{project-name}-{stream}-docker-c-shell-daily"
85     id: gerrit-docker-c-shell-daily
86     <<: *c_job_common
87     node: "ubuntu1804-docker-8c-8g"
88
89     triggers:
90       # 12 AM UTC
91       - timed: "@daily"
92       - gerrit-trigger-release-manually:
93           server: "{server-name}"
94           project: "{project}"
95           branch: "{branch}"
96
97     builders:
98       - lf-infra-pre-build
99       - provide-maven-settings:
100           global-settings-file: "global-settings"
101           settings-file: "{mvn-settings}"
102       - docker-login
103       - shell: "{script}"