Skip to content

Commit d245a14

Browse files
Migrate "checks" jobs to Gitlab (#8466)
* first pass checks * add some debug * Revert "add some debug" This reverts commit 26a7adb. * Normalize node index and node total * fix normalization * actually use the normalized values * add to required
1 parent 4eaa53b commit d245a14

File tree

1 file changed

+63
-5
lines changed

1 file changed

+63
-5
lines changed

.gitlab-ci.yml

Lines changed: 63 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ default:
4242
- export DATADOG_API_KEY_PROD=$(aws ssm get-parameter --region us-east-1 --name ci.dd-trace-java.DATADOG_API_KEY_PROD --with-decryption --query "Parameter.Value" --out text)
4343
- export DATADOG_API_KEY_DDSTAGING=$(aws ssm get-parameter --region us-east-1 --name ci.dd-trace-java.dd_api_key --with-decryption --query "Parameter.Value" --out text)
4444

45+
# CI_NODE_INDEX and CI_NODE_TOTAL are 1-indexed and not always set. These steps normalize the numbers for jobs
46+
.normalize_node_index: &normalize_node_index
47+
- echo "CI_NODE_TOTAL=$CI_NODE_TOTAL , CI_NODE_INDEX=$CI_NODE_INDEX"
48+
- export NORMALIZED_NODE_TOTAL=${CI_NODE_TOTAL:-1}
49+
- ONE_INDEXED_NODE_INDEX=${CI_NODE_INDEX:-1}; export NORMALIZED_NODE_INDEX=$((ONE_INDEXED_NODE_INDEX - 1))
50+
- echo "NORMALIZED_NODE_TOTAL=$NORMALIZED_NODE_TOTAL , NORMALIZED_NODE_INDEX=$NORMALIZED_NODE_INDEX"
51+
4552
.gradle_build: &gradle_build
4653
image: ghcr.io/datadog/dd-trace-java-docker-build:${JAVA_BUILD_IMAGE_VERSION}-base
4754
stage: build
@@ -68,6 +75,7 @@ default:
6875
before_script:
6976
- export GRADLE_USER_HOME=`pwd`/.gradle
7077
- export GRADLE_ARGS=" --build-cache --stacktrace --no-daemon --parallel --max-workers=$GRADLE_WORKERS"
78+
- *normalize_node_index
7179
# for weird reasons, gradle will always "chmod 700" the .gradle folder
7280
# with Gitlab caching, .gradle is always owned by root and thus gradle's chmod invocation fails
7381
# This dance is a hack to have .gradle owned by the Gitlab runner user
@@ -143,6 +151,49 @@ test_published_artifacts:
143151
paths:
144152
- ./check_reports
145153

154+
.check_job:
155+
extends: .gradle_build
156+
needs: [ build ]
157+
stage: tests
158+
variables:
159+
BUILD_CACHE_TYPE: lib
160+
script:
161+
- ./gradlew $GRADLE_TARGET -PskipTests -PrunBuildSrcTests -PskipSpotless -PtaskPartitionCount=$NORMALIZED_NODE_TOTAL -PtaskPartition=$NORMALIZED_NODE_INDEX $GRADLE_ARGS
162+
after_script:
163+
- .circleci/collect_reports.sh --destination ./check_reports --move
164+
artifacts:
165+
when: always
166+
paths:
167+
- ./check_reports
168+
- '.gradle/daemon/*/*.out.log'
169+
170+
check_base:
171+
extends: .check_job
172+
variables:
173+
GRADLE_TARGET: ":baseCheck"
174+
175+
check_inst:
176+
extends: .check_job
177+
parallel: 4
178+
variables:
179+
GRADLE_TARGET: ":instrumentationCheck"
180+
181+
check_smoke:
182+
extends: .check_job
183+
parallel: 4
184+
variables:
185+
GRADLE_TARGET: ":smokeCheck"
186+
187+
check_profiling:
188+
extends: .check_job
189+
variables:
190+
GRADLE_TARGET: ":profilingCheck"
191+
192+
check_debugger:
193+
extends: .check_job
194+
variables:
195+
GRADLE_TARGET: ":debuggerCheck"
196+
146197
muzzle:
147198
extends: .gradle_build
148199
needs: [ build ]
@@ -154,13 +205,10 @@ muzzle:
154205
BUILD_CACHE_TYPE: test
155206
script:
156207
- export SKIP_BUILDSCAN="true"
157-
- echo CI_NODE_INDEX=$CI_NODE_INDEX
158-
- echo CI_NODE_TOTAL=CI_NODE_TOTAL
159208
- ./gradlew writeMuzzleTasksToFile $GRADLE_ARGS
160209
- sort workspace/build/muzzleTasks > sortedMuzzleTasks
161-
- split --number=l/$CI_NODE_TOTAL --suffix-length=1 --numeric-suffixes sortedMuzzleTasks muzzleSplit
162-
- export NODE_ZERO_INDEX=$((CI_NODE_INDEX - 1))
163-
- ./gradlew `cat muzzleSplit${NODE_ZERO_INDEX} | xargs` $GRADLE_ARGS
210+
- split --number=l/$NORMALIZED_NODE_TOTAL --suffix-length=1 --numeric-suffixes sortedMuzzleTasks muzzleSplit
211+
- ./gradlew `cat muzzleSplit${NORMALIZED_NODE_INDEX} | xargs` $GRADLE_ARGS
164212
after_script:
165213
- .circleci/collect_reports.sh
166214
artifacts:
@@ -260,6 +308,16 @@ required:
260308
optional: true
261309
- job: agent_integration_tests
262310
optional: true
311+
- job: check_base
312+
optional: true
313+
- job: check_inst
314+
optional: true
315+
- job: check_smoke
316+
optional: true
317+
- job: check_profiling
318+
optional: true
319+
- job: check_debugger
320+
optional: true
263321

264322
deploy_to_profiling_backend:
265323
stage: publish

0 commit comments

Comments
 (0)