Skip to content

Commit 5ba5367

Browse files
committed
chore: Use node index rather than normalized node index
1 parent 12e4fff commit 5ba5367

File tree

3 files changed

+9
-13
lines changed

3 files changed

+9
-13
lines changed

.gitlab-ci.yml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,7 @@ default:
109109
.normalize_node_index: &normalize_node_index
110110
- if [ "$CI_NO_SPLIT" == "true" ] ; then CI_NODE_INDEX=1; CI_NODE_TOTAL=1; fi # A job uses parallel but doesn't intend to split by index
111111
- if [ -n "$CI_SPLIT" ]; then CI_NODE_INDEX="${CI_SPLIT%%/*}"; CI_NODE_TOTAL="${CI_SPLIT##*/}"; fi
112-
- echo "CI_NODE_TOTAL=${CI_NODE_TOTAL}, CI_NODE_INDEX=$CI_NODE_INDEX"
113-
- export NORMALIZED_NODE_TOTAL=${CI_NODE_TOTAL:-1}
114-
- ONE_INDEXED_NODE_INDEX=${CI_NODE_INDEX:-1}; export NORMALIZED_NODE_INDEX=$((ONE_INDEXED_NODE_INDEX - 1))
115-
- echo "NORMALIZED_NODE_TOTAL=${NORMALIZED_NODE_TOTAL}, NORMALIZED_NODE_INDEX=$NORMALIZED_NODE_INDEX"
112+
- echo "CI_NODE_INDEX=$CI_NODE_INDEX, CI_NODE_TOTAL=${CI_NODE_TOTAL}"
116113

117114
.cgroup_info: &cgroup_info
118115
- source .gitlab/gitlab-utils.sh
@@ -420,7 +417,7 @@ test_published_artifacts:
420417
script:
421418
- *gitlab_base_ref_params
422419
- ./gradlew --version
423-
- ./gradlew $GRADLE_TARGET $GRADLE_PARAMS -PskipTests -PrunBuildSrcTests -PskipSpotless -Pslot=$NORMALIZED_NODE_INDEX/$NORMALIZED_NODE_TOTAL $GRADLE_ARGS
420+
- ./gradlew $GRADLE_TARGET $GRADLE_PARAMS -PskipTests -PrunBuildSrcTests -PskipSpotless -Pslot=$CI_NODE_INDEX/$CI_NODE_TOTAL $GRADLE_ARGS
424421
after_script:
425422
- *cgroup_info
426423
- source .gitlab/gitlab-utils.sh
@@ -488,7 +485,7 @@ muzzle:
488485
script:
489486
- export SKIP_BUILDSCAN="true"
490487
- ./gradlew --version
491-
- ./gradlew :runMuzzle -Pslot=$NORMALIZED_NODE_INDEX/$NORMALIZED_NODE_TOTAL $GRADLE_ARGS
488+
- ./gradlew :runMuzzle -Pslot=$CI_NODE_INDEX/$CI_NODE_TOTAL $GRADLE_ARGS
492489
after_script:
493490
- *cgroup_info
494491
- source .gitlab/gitlab-utils.sh
@@ -570,7 +567,7 @@ muzzle-dep-report:
570567
- *prepare_test_env
571568
- export GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xms$GRADLE_MEM -Xmx$GRADLE_MEM $PROFILER_COMMAND -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp' -Ddatadog.forkedMaxHeapSize=1024M -Ddatadog.forkedMinHeapSize=128M"
572569
- ./gradlew --version
573-
- ./gradlew $GRADLE_TARGET $GRADLE_PARAMS -PtestJvm=$testJvm -Pslot=$NORMALIZED_NODE_INDEX/$NORMALIZED_NODE_TOTAL $GRADLE_ARGS --continue || $CONTINUE_ON_FAILURE
570+
- ./gradlew $GRADLE_TARGET $GRADLE_PARAMS -PtestJvm=$testJvm -Pslot=$CI_NODE_INDEX/$CI_NODE_TOTAL $GRADLE_ARGS --continue || $CONTINUE_ON_FAILURE
574571
after_script:
575572
- *restore_pretest_env
576573
- *set_datadog_api_keys

buildSrc/src/main/kotlin/datadog/gradle/plugin/ci/CIJobsExtensions.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ val Project.isInSelectedSlot: Provider<Boolean>
2222
return@map true
2323
}
2424

25-
val selectedSlot = parts[0]
26-
val totalSlots = parts[1]
25+
val selectedSlot = parts[0].toInt()
26+
val totalSlots = parts[1].toInt()
2727

2828
// Distribution numbers when running on rootProject.allprojects indicates
2929
// bucket sizes are reasonably balanced:
@@ -33,17 +33,17 @@ val Project.isInSelectedSlot: Provider<Boolean>
3333
// * size 8 distribution: {2=62, 4=72, 0=71, 5=70, 7=78, 6=84, 1=87, 3=67}
3434
// * size 10 distribution: {8=62, 0=65, 5=70, 9=59, 3=54, 1=56, 6=63, 4=47, 2=52, 7=63}
3535
// * size 12 distribution: {10=55, 0=47, 4=45, 9=46, 8=51, 3=51, 2=46, 1=59, 5=52, 7=49, 11=45, 6=45}
36-
val currentTaskPartition = abs(project.path.hashCode() % totalSlots.toInt())
36+
val projectSlot = abs(project.path.hashCode() % totalSlots) + 1 // Convert to 1-based
3737

3838
project.logger.info(
3939
"Project {} assigned to slot {}/{}, active slot is {}",
4040
project.path,
41-
currentTaskPartition,
41+
projectSlot,
4242
totalSlots,
4343
selectedSlot,
4444
)
4545

46-
currentTaskPartition == selectedSlot.toInt()
46+
projectSlot == selectedSlot
4747
}.orElse(true)
4848

4949
/**

buildSrc/src/main/kotlin/dd-trace-java.ci-jobs.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import datadog.gradle.plugin.ci.isInSelectedSlot
22
import org.gradle.api.tasks.testing.Test
33
import java.io.File
4-
import kotlin.math.abs
54

65
/*
76
* This plugin defines a set of tasks to be used in CI.

0 commit comments

Comments
 (0)