]> source.dussan.org Git - sonarqube.git/commitdiff
Fix flaky parallel yarn install
authorPhilippe Perrin <philippe.perrin@sonarsource.com>
Mon, 18 Oct 2021 13:08:13 +0000 (15:08 +0200)
committersonartech <sonartech@sonarsource.com>
Mon, 18 Oct 2021 20:03:25 +0000 (20:03 +0000)
build.gradle

index 899e6c063fbfd6b1519bd18042e2c8dc1bb71add..c617763888c58b2f7bbd3592cd4769a0dc90d0b9 100644 (file)
@@ -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 ->