diff --git a/.mergify.yml b/.mergify.yml index 64791ae3b..f94de2c34 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -143,3 +143,11 @@ pull_request_rules: add: - weaver remove: [] +- name: merge-when-ci-pass + conditions: + - status-success=Build and Test (ubuntu-latest, 2.12, temurin@11) + - status-success=Build and Test (ubuntu-latest, 2.13, temurin@11) + - status-success=Build and Test (ubuntu-latest, 3, temurin@11) + - label=merge-on-build-success + actions: + merge: {} diff --git a/build.sbt b/build.sbt index 512761267..88fbe6e11 100644 --- a/build.sbt +++ b/build.sbt @@ -59,6 +59,18 @@ ThisBuild / githubWorkflowBuildPostamble ++= Seq( ) ) +ThisBuild / mergifyPrRules += MergifyPrRule(name = "merge-when-ci-pass", conditions = githubWorkflowGeneratedCI.value.flatMap { + case job if mergifyRequiredJobs.value.contains(job.id) => + val buildSuccesses = for { + os <- job.oses + scalaVer <- job.scalas + javaSpec <- job.javas + } yield MergifyCondition.Custom(s"status-success=${job.name} ($os, $scalaVer, ${javaSpec.render})") + buildSuccesses :+ MergifyCondition.Custom("label=merge-on-build-success") + case _ => Nil +}.toList, actions = List(MergifyAction.Merge())) + + // This is used in a couple places. Might be nice to separate these things out. lazy val postgisDep = "net.postgis" % "postgis-jdbc" % postGisVersion