@@ -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