Add verification jobs for ccsdk/distribution
[ci-management.git] / jjb / integration / integration-maven-jobs.yaml
1 - integration_maven_common: &integration_maven_common
2     name: integration-maven-common
3
4     ######################
5     # Default parameters #
6     ######################
7
8     archive-artifacts: >
9       **/*.log
10       **/hs_err_*.log
11       **/target/**/feature.xml
12       **/target/failsafe-reports/failsafe-summary.xml
13       **/target/surefire-reports/*-output.txt
14
15     #####################
16     # Job Configuration #
17     #####################
18
19     project-type: freestyle
20     node: "{build-node}"
21
22     properties:
23       - lf-infra-properties:
24           build-days-to-keep: "{build-days-to-keep}"
25
26     parameters:
27       - lf-infra-parameters:
28           project: "{project}"
29           branch: "{branch}"
30           stream: "{stream}"
31       - lf-infra-maven-parameters:
32           mvn-opts: "{mvn-opts}"
33           mvn-params: "{mvn-params}"
34           mvn-version: "{mvn-version}"
35       - string:
36           name: ARCHIVE_ARTIFACTS
37           default: "{archive-artifacts}"
38           description: Artifacts to archive to the logs server.
39
40     scm:
41       - lf-infra-gerrit-scm:
42           jenkins-ssh-credential: "{jenkins-ssh-credential}"
43           git-url: "{git-url}"
44           refspec: "$GERRIT_REFSPEC"
45           branch: "$GERRIT_BRANCH"
46           submodule-recursive: "{submodule-recursive}"
47           submodule-timeout: "{submodule-timeout}"
48           submodule-disable: "{submodule-disable}"
49           choosing-strategy: default
50
51     wrappers:
52       - lf-infra-wrappers:
53           build-timeout: "{build-timeout}"
54           jenkins-ssh-credential: "{jenkins-ssh-credential}"
55
56     publishers:
57       - lf-infra-publish
58
59 #############################
60 # Maven Snapshot for Docker #
61 #############################
62
63 - integration_maven_docker_snapshot: &integration_maven_docker_snapshot
64     name: integration-maven-docker-snapshot
65
66     builders:
67       - lf-infra-pre-build
68       - lf-jacoco-nojava-workaround
69       - lf-maven-install:
70           mvn-version: "{mvn-version}"
71       - lf-update-java-alternatives:
72           java-version: "{java-version}"
73       - lf-infra-docker-login:
74           global-settings-file: "{mvn-global-settings}"
75           settings-file: "{mvn-settings}"
76       # must provide maven settings AFTER docker-login due to its cleanup
77       - lf-provide-maven-settings:
78           global-settings-file: "{mvn-global-settings}"
79           settings-file: "{mvn-settings}"
80       - lf-maven-versions-plugin:
81           maven-versions-plugin: "{maven-versions-plugin}"
82           version-properties-file: "{version-properties-file}"
83           mvn-version: "{mvn-version}"
84           mvn-pom: "{mvn-pom}"
85           mvn-settings: "{mvn-settings}"
86       - inject:
87           properties-content: |
88             CONTAINER_PULL_REGISTRY={container-public-registry}
89             CONTAINER_PUSH_REGISTRY={container-snapshot-registry}
90       - lf-maven-build:
91           mvn-goals: "{mvn-goals}"
92       - lf-sigul-sign-dir:
93           sign-artifacts: "{sign-artifacts}"
94           sign-dir: "$WORKSPACE/m2repo"
95           sign-mode: "{sign-mode}"
96       - lf-provide-maven-settings-cleanup
97
98 - job-template:
99     name: "{project-name}-{stream}-maven-docker-snapshot"
100     id: gerrit-maven-docker-snapshot-PoC
101     <<: *integration_maven_common
102     # yamllint disable-line rule:key-duplicates
103     <<: *integration_maven_docker_snapshot
104
105     ######################
106     # Default parameters #
107     ######################
108
109     branch: master
110     build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
111     build-timeout: 60
112     disable-job: false
113     git-url: "$GIT_URL/$PROJECT"
114     github-url: "https://github.com"
115     java-version: openjdk8
116     maven-versions-plugin: false
117     version-properties-file: version.properties
118     mvn-central: false
119     mvn-global-settings: global-settings
120     mvn-goals: clean deploy
121     mvn-opts: ""
122     mvn-params: ""
123     mvn-version: mvn35
124     ossrh-profile-id: ""
125     mvn-pom: ""
126     sign-artifacts: false
127     sign-mode: serial
128     stream: master
129     submodule-recursive: true
130     submodule-timeout: 10
131     submodule-disable: false
132
133     parameters:
134       - infra-parameters:
135           project: '{project}'
136           branch: '{branch}'
137           refspec: 'refs/heads/{branch}'
138           artifacts: '{archive-artifacts}'
139       - integration-unique-docker-tag:
140           unique-docker-tag: ''