From: Philippe Perrin Date: Mon, 18 Oct 2021 13:08:13 +0000 (+0200) Subject: Fix flaky parallel yarn install X-Git-Tag: 9.2.0.49834~142 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=7f8a4271ae5b4710466cd1fadb37c267e427c38a;p=sonarqube.git Fix flaky parallel yarn install --- diff --git a/build.gradle b/build.gradle index 899e6c063fb..c617763888c 100644 --- a/build.gradle +++ b/build.gradle @@ -656,14 +656,10 @@ gradle.projectsEvaluated { gradle -> .findResults { it -> it.tasks.findByName('dependencyCheckAggregate_prerequisites') } .each { t -> dependencyCheckAggregate.dependsOn(t) } - // yarn_run tasks can't all run in parallel without yarn's global cache being populated - // this script add a dependency on all yarn_run tasks to the sonar-web yarn_run task - // this way we are sure that the yarn global cache is available and populated before running the - // rest of the yarn_run tasks in parrallel + // yarn_run tasks can't all run in parallel without random issues + // this script ensure all yarn_run tasks run sequentially def yarnRunTasks = allprojects.findResults { it -> it.tasks.findByName('yarn_run') } - def sonarWebyarnRunTask = yarnRunTasks.find { t -> t.project.name == 'sonar-web' } - yarnRunTasks.remove(sonarWebyarnRunTask) - yarnRunTasks.each { t -> t.mustRunAfter(sonarWebyarnRunTask) } + yarnRunTasks.drop(1).eachWithIndex { it, i -> it.mustRunAfter(yarnRunTasks[0..i]) } } ext.osAdaptiveCommand = { commands ->