diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 47c9b66df6d..2f1f9af2596 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -394,15 +394,14 @@ muzzle: extends: .gradle_build needs: [ build_tests ] stage: tests - parallel: 8 + parallel: + matrix: + - CI_SPLIT: ["1/8", "2/8", "3/8", "4/8", "5/8", "6/8", "7/8", "8/8"] variables: CACHE_TYPE: inst script: - export SKIP_BUILDSCAN="true" - - ./gradlew writeMuzzleTasksToFile $GRADLE_ARGS - - sort workspace/build/muzzleTasks > sortedMuzzleTasks - - split --number=l/$NORMALIZED_NODE_TOTAL --suffix-length=1 --numeric-suffixes sortedMuzzleTasks muzzleSplit - - ./gradlew $(cat muzzleSplit${NORMALIZED_NODE_INDEX} | xargs) $GRADLE_ARGS + - ./gradlew :runMuzzle -PtaskPartitionCount=$NORMALIZED_NODE_TOTAL -PtaskPartition=$NORMALIZED_NODE_INDEX $GRADLE_ARGS after_script: - *cgroup_info - source .gitlab/gitlab-utils.sh diff --git a/build.gradle b/build.gradle index ac0bd29d117..7c82c247260 100644 --- a/build.gradle +++ b/build.gradle @@ -121,17 +121,6 @@ wrapper { distributionType = Wrapper.DistributionType.ALL } -tasks.register('writeMuzzleTasksToFile') { - doLast { - def muzzleFile = file("${buildDir}/muzzleTasks") - assert muzzleFile.parentFile.mkdirs() || muzzleFile.parentFile.directory - - muzzleFile.text = subprojects.findAll { subproject -> subproject.plugins.hasPlugin('muzzle') } - .collect { it.path + ":muzzle" } - .join('\n') - } -} - def writeMainVersionFileTask = tasks.register('writeMainVersionFile') { def versionFile = file("${rootProject.buildDir}/main.version") inputs.property "version", scmVersion.version diff --git a/gradle/ci_jobs.gradle b/gradle/ci_jobs.gradle index f535eebd9af..ebf2d195d18 100644 --- a/gradle/ci_jobs.gradle +++ b/gradle/ci_jobs.gradle @@ -188,3 +188,8 @@ testAggregate("base", [":"], [ ":dd-java-agent:agent-profiling", ":dd-java-agent:agent-debugger" ]) + + +tasks.register('runMuzzle') { + dependsOn subprojects.findAll { p -> p.activePartition && p.plugins.hasPlugin('muzzle') }.collect { p -> p.path + ":muzzle" } +}