@@ -10,7 +10,6 @@ include:
1010image : eclipse-temurin:17
1111
1212variables :
13- DOCKER_IMAGE_PREFIX : ${CONTAINER_REGISTRY}/oss-client-libraries/${CI_PROJECT_NAME}-build
1413 GRADLE_OPTS : " -Dorg.gradle.daemon=false"
1514 JAVA_TOOL_OPTIONS : " "
1615
@@ -26,32 +25,65 @@ before_script:
2625
2726# stage: check ----------------------
2827
29- spotless :
28+ spotless_base :
3029 stage : check
3130 script : ./gradlew spotlessCheck
3231
33- licenseCheck :
32+ spotless_scheduled :
33+ extends : spotless_base
34+ rules :
35+ - if : $CI_PIPELINE_SOURCE == "schedule"
36+ retry : 2
37+
38+ spotless_manual :
39+ extends : spotless_base
40+ rules :
41+ - if : $CI_PIPELINE_SOURCE != "schedule"
42+
43+ .license_check_base :
3444 stage : check
3545 script :
3646 - ./license_checker.sh '*.java' | tee license_check_output.txt
3747 - ' [ ! -s license_check_output.txt ]'
3848
49+ license_check_scheduled :
50+ extends : .license_check_base
51+ rules :
52+ - if : $CI_PIPELINE_SOURCE == "schedule"
53+ retry : 2
54+
55+ license_check_manual :
56+ extends : .license_check_base
57+ rules :
58+ - if : $CI_PIPELINE_SOURCE != "schedule"
59+
60+
3961# stage: build ----------------------
4062
41- build :
63+ build_base :
4264 stage : build
4365 script :
4466 - ./gradlew assemble
4567 artifacts :
4668 paths :
4769 - deepl-java/build/
4870
71+ build_scheduled :
72+ extends : build_base
73+ rules :
74+ - if : $CI_PIPELINE_SOURCE == "schedule"
75+ retry : 2
76+
77+ build_manual :
78+ extends : build_base
79+ rules :
80+ - if : $CI_PIPELINE_SOURCE != "schedule"
81+
4982# stage: test -------------------------
5083
51- test :
84+ test_base :
5285 stage : test
5386 extends : .test
54- retry : 1
5587 parallel :
5688 matrix :
5789 - DOCKER_IMAGE : " eclipse-temurin:18"
@@ -84,16 +116,27 @@ test:
84116 - deepl-java/build/reports/tests/test/index.html
85117 when : always
86118
87- test_examples :
119+ test_scheduled :
120+ extends : test_base
121+ rules :
122+ - if : $CI_PIPELINE_SOURCE == "schedule"
123+ retry : 2
124+
125+ test_manual :
126+ stage : test
127+ extends : test_base
128+ rules :
129+ - if : $CI_PIPELINE_SOURCE != "schedule"
130+
131+ test_examples_base :
88132 stage : test
89133 extends : .test
90- retry : 1
91134 parallel :
92135 matrix :
93136 - DOCKER_IMAGE : " maven:3.8"
94137 - DOCKER_IMAGE : " maven:3.8-openjdk-18"
95138 - DOCKER_IMAGE : " maven:3.8-openjdk-8"
96- - DOCKER_IMAGE : " maven:3.8 -sapmachine-17"
139+ - DOCKER_IMAGE : " maven:3.9 -sapmachine-17"
97140 - DOCKER_IMAGE : " maven:3.8-eclipse-temurin-8"
98141 - DOCKER_IMAGE : " maven:3.8-eclipse-temurin-18"
99142 image : ${DOCKER_IMAGE}
@@ -106,13 +149,25 @@ test_examples:
106149 - examples/maven/deepl-test-app/mvn_build.log
107150 when : always
108151
152+ test_examples_scheduled :
153+ extends : test_examples_base
154+ rules :
155+ - if : $CI_PIPELINE_SOURCE == "schedule"
156+ retry : 2
157+
158+ test_examples_manual :
159+ extends : test_examples_base
160+ rules :
161+ - if : $CI_PIPELINE_SOURCE != "schedule"
162+
109163# stage: publish -------------------------
110164
111165publish :
112166 stage : publish
113167 extends : .publish
114168 dependencies :
115- - build
169+ - build_scheduled
170+ - build_manual
116171 rules :
117172 - if : ' $CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/'
118173 script :
0 commit comments