Validate compile in multi-jvm (#26400)
* New validateCompile task for multi jvm to run in travis
This commit is contained in:
parent
6394b979bd
commit
2e247001f7
3 changed files with 12 additions and 4 deletions
|
|
@ -30,7 +30,7 @@ cache:
|
||||||
script:
|
script:
|
||||||
- jabba use "adopt@~1.8.202-08"
|
- jabba use "adopt@~1.8.202-08"
|
||||||
# need to override as the default is to test
|
# need to override as the default is to test
|
||||||
- sbt -jvm-opts .jvmopts-travis ";++$TRAVIS_SCALA_VERSION update ;++$TRAVIS_SCALA_VERSION mimaReportBinaryIssues ;++$TRAVIS_SCALA_VERSION test:compile"
|
- sbt -jvm-opts .jvmopts-travis ";++$TRAVIS_SCALA_VERSION update ;++$TRAVIS_SCALA_VERSION mimaReportBinaryIssues ;++$TRAVIS_SCALA_VERSION test:compile ;++$TRAVIS_SCALA_VERSION validateCompile"
|
||||||
# make 'git branch' work again
|
# make 'git branch' work again
|
||||||
- git branch -f "$TRAVIS_BRANCH" && git checkout "$TRAVIS_BRANCH"
|
- git branch -f "$TRAVIS_BRANCH" && git checkout "$TRAVIS_BRANCH"
|
||||||
# check policies, if on master also upload
|
# check policies, if on master also upload
|
||||||
|
|
|
||||||
|
|
@ -534,7 +534,7 @@ def commandValue(p: Project, externalTest: Option[Project] = None) = {
|
||||||
val test = externalTest.getOrElse(p)
|
val test = externalTest.getOrElse(p)
|
||||||
val optionalMima = if (p.id.endsWith("-typed")) "" else s";${p.id}/mimaReportBinaryIssues"
|
val optionalMima = if (p.id.endsWith("-typed")) "" else s";${p.id}/mimaReportBinaryIssues"
|
||||||
val optionalExternalTestFormat = externalTest.map(t => s";${t.id}/scalafmtAll").getOrElse("")
|
val optionalExternalTestFormat = externalTest.map(t => s";${t.id}/scalafmtAll").getOrElse("")
|
||||||
s";${p.id}/scalafmtAll$optionalExternalTestFormat;${test.id}/test:compile$optionalMima;${docs.id}/paradox"
|
s";${p.id}/scalafmtAll$optionalExternalTestFormat;${test.id}/test:compile$optionalMima;${docs.id}/paradox;${test.id}:validateCompile"
|
||||||
}
|
}
|
||||||
addCommandAlias("allActor", commandValue(actor, Some(actorTests)))
|
addCommandAlias("allActor", commandValue(actor, Some(actorTests)))
|
||||||
addCommandAlias("allRemote", commandValue(remote, Some(remoteTests)))
|
addCommandAlias("allRemote", commandValue(remote, Some(remoteTests)))
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,11 @@ import org.scalafmt.sbt.ScalafmtPlugin.scalafmtConfigSettings
|
||||||
|
|
||||||
object MultiNode extends AutoPlugin {
|
object MultiNode extends AutoPlugin {
|
||||||
|
|
||||||
|
object autoImport {
|
||||||
|
val validateCompile = taskKey[Unit]("Validates compile for any project it is enabled")
|
||||||
|
}
|
||||||
|
import autoImport._
|
||||||
|
|
||||||
// MultiJvm tests can be excluded from normal test target an validatePullRequest
|
// MultiJvm tests can be excluded from normal test target an validatePullRequest
|
||||||
// with -Dakka.test.multi-in-test=false
|
// with -Dakka.test.multi-in-test=false
|
||||||
val multiNodeTestInTest: Boolean =
|
val multiNodeTestInTest: Boolean =
|
||||||
|
|
@ -55,6 +60,10 @@ object MultiNode extends AutoPlugin {
|
||||||
"-Xmx256m" :: akkaProperties ::: CliOptions.sbtLogNoFormat.ifTrue("-Dakka.test.nocolor=true").toList
|
"-Xmx256m" :: akkaProperties ::: CliOptions.sbtLogNoFormat.ifTrue("-Dakka.test.nocolor=true").toList
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private val anyConfigsInThisProject = ScopeFilter(
|
||||||
|
configurations = inAnyConfiguration
|
||||||
|
)
|
||||||
|
|
||||||
private val multiJvmSettings =
|
private val multiJvmSettings =
|
||||||
SbtMultiJvm.multiJvmSettings ++
|
SbtMultiJvm.multiJvmSettings ++
|
||||||
inConfig(MultiJvm)(scalafmtConfigSettings) ++
|
inConfig(MultiJvm)(scalafmtConfigSettings) ++
|
||||||
|
|
@ -99,8 +108,7 @@ object MultiNode extends AutoPlugin {
|
||||||
(headerCreate in MultiJvm).value
|
(headerCreate in MultiJvm).value
|
||||||
(compile in MultiJvm).value
|
(compile in MultiJvm).value
|
||||||
}) ++ headerSettings(MultiJvm) ++ Seq(
|
}) ++ headerSettings(MultiJvm) ++ Seq(
|
||||||
// only works if I put it here ¯\_(ツ)_/¯
|
validateCompile := compile.?.all(anyConfigsInThisProject).value
|
||||||
compile in MultiJvm := ((compile in MultiJvm).triggeredBy(compile in Test)).value
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue