Skip to content

Commit 0b8643a

Browse files
Normalize node index and node total
1 parent f8448c9 commit 0b8643a

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

.gitlab-ci.yml

Lines changed: 10 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=$((CI_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
@@ -195,13 +203,10 @@ muzzle:
195203
BUILD_CACHE_TYPE: test
196204
script:
197205
- export SKIP_BUILDSCAN="true"
198-
- echo CI_NODE_INDEX=$CI_NODE_INDEX
199-
- echo CI_NODE_TOTAL=CI_NODE_TOTAL
200206
- ./gradlew writeMuzzleTasksToFile $GRADLE_ARGS
201207
- sort workspace/build/muzzleTasks > sortedMuzzleTasks
202-
- split --number=l/$CI_NODE_TOTAL --suffix-length=1 --numeric-suffixes sortedMuzzleTasks muzzleSplit
203-
- export NODE_ZERO_INDEX=$((CI_NODE_INDEX - 1))
204-
- ./gradlew `cat muzzleSplit${NODE_ZERO_INDEX} | xargs` $GRADLE_ARGS
208+
- split --number=l/$NORMALIZED_NODE_TOTAL --suffix-length=1 --numeric-suffixes sortedMuzzleTasks muzzleSplit
209+
- ./gradlew `cat muzzleSplit${NORMALIZED_NODE_INDEX} | xargs` $GRADLE_ARGS
205210
after_script:
206211
- .circleci/collect_reports.sh
207212
artifacts:

0 commit comments

Comments
 (0)