From df335dd8a0fd70d3bc44acd9c3d499f9bca9dbfd Mon Sep 17 00:00:00 2001 From: Isaac Zarsky Date: Mon, 1 Mar 2021 15:38:32 -0500 Subject: [PATCH 01/12] update to jdk 11 --- .github/workflows/test.yml | 4 ++-- .java-version | 2 +- Dockerfile | 2 +- automation/Dockerfile-tests | 2 +- automation/project/Settings.scala | 3 +-- automation/project/build.properties | 2 +- docker/build.sh | 4 ++-- project/Settings.scala | 15 ++++++++++----- project/build.properties | 2 +- 9 files changed, 20 insertions(+), 16 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 25d76b6243..8367d8696e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,10 +35,10 @@ jobs: - name: coursier-cache-action uses: coursier/cache-action@v5 - - name: Set up JDK 1.8 + - name: Set up JDK 11 uses: actions/setup-java@v1 with: - java-version: 1.8 + java-version: 11 - name: Git secrets setup run: | diff --git a/.java-version b/.java-version index 6259340971..b4de394767 100644 --- a/.java-version +++ b/.java-version @@ -1 +1 @@ -1.8 +11 diff --git a/Dockerfile b/Dockerfile index cab4b76781..1b991bc8a6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM us.gcr.io/broad-dsp-gcr-public/base/jre:8-debian +FROM us.gcr.io/broad-dsp-gcr-public/base/jre:11-debian # To run, must build the jar using ./docker/build.sh diff --git a/automation/Dockerfile-tests b/automation/Dockerfile-tests index aa6bf7798c..6774217d5d 100644 --- a/automation/Dockerfile-tests +++ b/automation/Dockerfile-tests @@ -1,4 +1,4 @@ -FROM bigtruedata/sbt +FROM us.gcr.io/broad-dsp-gcr-public/scala-baseimage COPY src /app/src COPY minnie-kenny.sh /app diff --git a/automation/project/Settings.scala b/automation/project/Settings.scala index 0180d2f1ff..db8adc5ee9 100644 --- a/automation/project/Settings.scala +++ b/automation/project/Settings.scala @@ -15,7 +15,7 @@ object Settings { //coreDefaultSettings + defaultConfigs = the now deprecated defaultSettings val commonBuildSettings = Defaults.coreDefaultSettings ++ Defaults.defaultConfigs ++ Seq( javaOptions += "-Xmx2G", - javacOptions ++= Seq("-source", "1.8", "-target", "1.8"), + javacOptions ++= Seq("--release", "11"), addCompilerPlugin(scalafixSemanticdb) ) @@ -24,7 +24,6 @@ object Settings { "-deprecation", "-feature", "-encoding", "utf8", - "-target:jvm-1.8", "-Xmax-classfile-name", "100" ) diff --git a/automation/project/build.properties b/automation/project/build.properties index daac5dbf66..d18a12ed77 100644 --- a/automation/project/build.properties +++ b/automation/project/build.properties @@ -1 +1 @@ -sbt.version = 1.4.6 +sbt.version = 1.4.7 diff --git a/docker/build.sh b/docker/build.sh index 924ccd83b2..7e95310c78 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -108,7 +108,7 @@ function make_jar() if [ "$SKIP_TESTS" != "skip-tests" ]; then DOCKER_RUN="$DOCKER_RUN --link mysql:mysql" fi - DOCKER_RUN="$DOCKER_RUN -e SKIP_TESTS=$SKIP_TESTS -e GIT_MODEL_HASH=$GIT_MODEL_HASH -e GIT_COMMIT -e BUILD_NUMBER -v $PWD:/working -v sbt-cache:/root/.sbt -v jar-cache:/root/.ivy2 -v coursier-cache:/root/.cache/coursier broadinstitute/scala-baseimage /working/docker/install.sh /working" + DOCKER_RUN="$DOCKER_RUN -e SKIP_TESTS=$SKIP_TESTS -e GIT_MODEL_HASH=$GIT_MODEL_HASH -e GIT_COMMIT -e BUILD_NUMBER -v $PWD:/working -v sbt-cache:/root/.sbt -v jar-cache:/root/.ivy2 -v coursier-cache:/root/.cache/coursier broadinstitute/scala-baseimage:jdk11-2.12.11-1.4.7 /working/docker/install.sh /working" JAR_CMD=$($DOCKER_RUN 1>&2) EXIT_CODE=$? @@ -130,7 +130,7 @@ function artifactory_push() ARTIFACTORY_USERNAME=dsdejenkins ARTIFACTORY_PASSWORD=$(docker run -e VAULT_TOKEN=$VAULT_TOKEN broadinstitute/dsde-toolbox vault read -field=password secret/dsp/accts/artifactory/dsdejenkins) echo "Publishing to artifactory..." - docker run --rm -v $PWD:/$PROJECT -v sbt-cache:/root/.sbt -v jar-cache:/root/.ivy2 -v coursier-cache:/root/.cache/coursier -w="/$PROJECT" -e ARTIFACTORY_USERNAME=$ARTIFACTORY_USERNAME -e ARTIFACTORY_PASSWORD=$ARTIFACTORY_PASSWORD broadinstitute/scala-baseimage:scala-2.11.8 /$PROJECT/core/src/bin/publishSnapshot.sh + docker run --rm -v $PWD:/$PROJECT -v sbt-cache:/root/.sbt -v jar-cache:/root/.ivy2 -v coursier-cache:/root/.cache/coursier -w="/$PROJECT" -e ARTIFACTORY_USERNAME=$ARTIFACTORY_USERNAME -e ARTIFACTORY_PASSWORD=$ARTIFACTORY_PASSWORD broadinstitute/scala-baseimage:jdk11-2.12.11-1.4.7 /$PROJECT/core/src/bin/publishSnapshot.sh } function docker_cmd() diff --git a/project/Settings.scala b/project/Settings.scala index 82d6c417b9..c284dfc71d 100644 --- a/project/Settings.scala +++ b/project/Settings.scala @@ -27,6 +27,10 @@ object Settings { javaOptions += "-Xmx2G" ) + val java11BuildSettings = Seq( // can be wrapped into commonBuildSettings when rawls-model can publish java 11 + javacOptions ++= Seq("--release", "11") + ) + val commonCompilerSettings = Seq( "-unchecked", "-feature", @@ -78,13 +82,14 @@ object Settings { val googleSettings = commonSettings ++ List( name := "workbench-google", libraryDependencies ++= googleDependencies - ) ++ versionSettings ++ noPublishSettings + ) ++ versionSettings ++ noPublishSettings ++ java11BuildSettings //the full list of settings for the rawlsModel project (see build.sbt) //coreDefaultSettings (inside commonSettings) sets the project name, which we want to override, so ordering is important. //thus commonSettings needs to be added first. val modelSettings = cross212and213 ++ commonSettings ++ List( name := "rawls-model", + javacOptions ++= Seq("--release", "8"), // has to publish a java 8 artifact libraryDependencies ++= modelDependencies ) ++ versionSettings ++ publishSettings @@ -94,7 +99,7 @@ object Settings { val utilSettings = commonSettings ++ List( name := "workbench-util", libraryDependencies ++= utilDependencies - ) ++ versionSettings ++ noPublishSettings + ) ++ versionSettings ++ noPublishSettings ++ java11BuildSettings //the full list of settings for the workbenchMetrics project (see build.sbt) //coreDefaultSettings (inside commonSettings) sets the project name, which we want to override, so ordering is important. @@ -102,7 +107,7 @@ object Settings { val metricsSettings = commonSettings ++ List( name := "workbench-metrics", libraryDependencies ++= metricsDependencies - ) ++ versionSettings ++ noPublishSettings + ) ++ versionSettings ++ noPublishSettings ++ java11BuildSettings //the full list of settings for the rawlsCore project (see build.sbt) //coreDefaultSettings (inside commonSettings) sets the project name, which we want to override, so ordering is important. @@ -111,7 +116,7 @@ object Settings { name := "rawls-core", version := "0.1", libraryDependencies ++= rawlsCoreDependencies - ) ++ antlr4CodeGenerationSettings ++ rawlsAssemblySettings ++ noPublishSettings ++ rawlsCompileSettings + ) ++ antlr4CodeGenerationSettings ++ rawlsAssemblySettings ++ noPublishSettings ++ rawlsCompileSettings ++ java11BuildSettings //NOTE: rawlsCoreCompileSettings above has to be last, because something in commonSettings or rawlsAssemblySettings //overwrites it if it's before them. I (hussein) don't know what that is and I don't care to poke the bear to find out. @@ -121,6 +126,6 @@ object Settings { val rootSettings = commonSettings ++ List( name := "rawls", version := "0.1" - ) ++ rawlsAssemblySettings ++ noPublishSettings ++ rawlsCompileSettings + ) ++ rawlsAssemblySettings ++ noPublishSettings ++ rawlsCompileSettings ++ java11BuildSettings //See immediately above NOTE. } diff --git a/project/build.properties b/project/build.properties index d91c272d4e..0b2e09c5ac 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.4.6 +sbt.version=1.4.7 From fd4f4a81e8dc14418b3cb8301ff1949c546d7b0c Mon Sep 17 00:00:00 2001 From: Isaac Zarsky Date: Mon, 1 Mar 2021 15:41:57 -0500 Subject: [PATCH 02/12] fix test dockerfile image --- automation/Dockerfile-tests | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/automation/Dockerfile-tests b/automation/Dockerfile-tests index 6774217d5d..986aeb4a6d 100644 --- a/automation/Dockerfile-tests +++ b/automation/Dockerfile-tests @@ -1,4 +1,4 @@ -FROM us.gcr.io/broad-dsp-gcr-public/scala-baseimage +FROM broadinstitute/scala-baseimage:jdk11-2.12.11-1.4.7 COPY src /app/src COPY minnie-kenny.sh /app From 237ebe5aa4e0ff10c24bb1019a8d21d64b86dd2d Mon Sep 17 00:00:00 2001 From: Isaac Zarsky Date: Mon, 1 Mar 2021 16:59:07 -0500 Subject: [PATCH 03/12] update mockserver --- .../org/broadinstitute/dsde/rawls/RawlsTestUtils.scala | 8 ++++---- project/Dependencies.scala | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/src/test/scala/org/broadinstitute/dsde/rawls/RawlsTestUtils.scala b/core/src/test/scala/org/broadinstitute/dsde/rawls/RawlsTestUtils.scala index 9f25c4d32a..4069ca49d9 100644 --- a/core/src/test/scala/org/broadinstitute/dsde/rawls/RawlsTestUtils.scala +++ b/core/src/test/scala/org/broadinstitute/dsde/rawls/RawlsTestUtils.scala @@ -3,7 +3,7 @@ package org.broadinstitute.dsde.rawls import akka.http.scaladsl.model.{StatusCode, StatusCodes} import org.broadinstitute.dsde.rawls.dataaccess.slick.TestDriverComponent import org.broadinstitute.dsde.rawls.model.Workspace -import org.mockserver.model.StringBody +import org.mockserver.model.RegexBody import org.scalatest.exceptions.TestFailedException import org.scalatest.Suite @@ -71,8 +71,8 @@ trait RawlsTestUtils extends Suite with TestDriverComponent with Matchers { } // MockServer's .withBody doesn't have a built-in string contains feature. This serves that purpose. - def mockServerContains(text: String): StringBody = { - val anythingWithNewlines = "((.|\n|\r)*)" - StringBody.regex(anythingWithNewlines + Regex.quote(text.toString) + anythingWithNewlines) + def mockServerContains(text: String): RegexBody = { + // "(?s)" turns on DOTALL mode, where a "." matches a line break as well as any character + new RegexBody("(?s).*" + Regex.quote(text) + ".*") } } diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 6f559a8d8d..1a4c208400 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -87,7 +87,7 @@ object Dependencies { val scalaUri: ModuleID = "io.lemonlabs" %% "scala-uri" % "3.0.0" val scalatest: ModuleID = "org.scalatest" %% "scalatest" % "3.2.2" % "test" val mockito: ModuleID = "org.scalatestplus" %% "mockito-3-4" % "3.2.2.0" % Test - val mockserverNetty: ModuleID = "org.mock-server" % "mockserver-netty" % "3.9.2" % "test" + val mockserverNetty: ModuleID = "org.mock-server" % "mockserver-netty" % "5.11.2" % "test" val ficus: ModuleID = "com.iheart" %% "ficus" % "1.4.0" val scalaCache: ModuleID = "com.github.cb372" %% "scalacache-caffeine" % "0.24.2" val apacheCommonsIO: ModuleID = "commons-io" % "commons-io" % "2.6" From 4eb13a808fc709f13312f4265b03a4a07bcf9233 Mon Sep 17 00:00:00 2001 From: Isaac Zarsky Date: Tue, 2 Mar 2021 16:54:17 -0500 Subject: [PATCH 04/12] tests are on 2.12.12 --- automation/Dockerfile-tests | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/automation/Dockerfile-tests b/automation/Dockerfile-tests index 986aeb4a6d..8ad3e91fa1 100644 --- a/automation/Dockerfile-tests +++ b/automation/Dockerfile-tests @@ -1,4 +1,4 @@ -FROM broadinstitute/scala-baseimage:jdk11-2.12.11-1.4.7 +FROM broadinstitute/scala-baseimage:jdk11-2.12.12-1.4.7 COPY src /app/src COPY minnie-kenny.sh /app From b5befd2cf575733531be17b0e3e61947747c9df1 Mon Sep 17 00:00:00 2001 From: Isaac Zarsky Date: Fri, 5 Mar 2021 11:46:02 -0500 Subject: [PATCH 05/12] decrease mockserver verbosity --- project/Testing.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Testing.scala b/project/Testing.scala index 49ab0bf159..20857ef803 100644 --- a/project/Testing.scala +++ b/project/Testing.scala @@ -55,7 +55,7 @@ object Testing { (testOnly in Test) := ((testOnly in Test) dependsOn validMySqlHost).evaluated, parallelExecution in Test := false - ) ++ MinnieKenny.testSettings + ) ++ Seq(javaOptions += "-Dmockserver.logLevel=WARN") ++ MinnieKenny.testSettings implicit class ProjectTestSettings(val project: Project) extends AnyVal { def withTestSettings: Project = project From 7c9df336d1587c5a41aa5963bbee5e1039cc73c3 Mon Sep 17 00:00:00 2001 From: Isaac Zarsky Date: Fri, 5 Mar 2021 13:33:11 -0500 Subject: [PATCH 06/12] mockserver logging verbosity, try 2 --- project/Testing.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/project/Testing.scala b/project/Testing.scala index 20857ef803..a2a7db08ba 100644 --- a/project/Testing.scala +++ b/project/Testing.scala @@ -22,6 +22,9 @@ object Testing { val commonTestSettings: Seq[Setting[_]] = List( + testOptions in Test += Tests.Setup(() => + sys.props += "mockserver.logLevel" -> "WARN" + ), // SLF4J initializes itself upon the first logging call. Because sbt // runs tests in parallel it is likely that a second thread will // invoke a second logging call before SLF4J has completed @@ -55,7 +58,7 @@ object Testing { (testOnly in Test) := ((testOnly in Test) dependsOn validMySqlHost).evaluated, parallelExecution in Test := false - ) ++ Seq(javaOptions += "-Dmockserver.logLevel=WARN") ++ MinnieKenny.testSettings + ) ++ MinnieKenny.testSettings implicit class ProjectTestSettings(val project: Project) extends AnyVal { def withTestSettings: Project = project From 66f313337d4fc7135cc54d4064a20dae494118ab Mon Sep 17 00:00:00 2001 From: Isaac Zarsky Date: Fri, 5 Mar 2021 14:22:14 -0500 Subject: [PATCH 07/12] skip minnie-kenny? --- docker/install.sh | 2 +- project/Testing.scala | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/install.sh b/docker/install.sh index dd5cd89eaf..5788470f7a 100755 --- a/docker/install.sh +++ b/docker/install.sh @@ -16,7 +16,7 @@ if [ "$SKIP_TESTS" = "skip-tests" ]; then echo skipping tests else echo "starting sbt test ..." - sbt -J-Xms5g -J-Xmx5g -J-XX:MaxMetaspaceSize=5g test -Dmysql.host=mysql -Dmysql.port=3306 + sbt -J-Xms5g -J-Xmx5g -J-XX:MaxMetaspaceSize=5g test -Dmysql.host=mysql -Dmysql.port=3306 -Dsecrets.skip=true echo "sbt test done" fi diff --git a/project/Testing.scala b/project/Testing.scala index a2a7db08ba..3258362c64 100644 --- a/project/Testing.scala +++ b/project/Testing.scala @@ -1,3 +1,4 @@ +import MinnieKenny.testSettings import sbt.Keys._ import sbt._ @@ -58,7 +59,7 @@ object Testing { (testOnly in Test) := ((testOnly in Test) dependsOn validMySqlHost).evaluated, parallelExecution in Test := false - ) ++ MinnieKenny.testSettings + ) ++ (if (sys.props.getOrElse("secrets.skip", false) != "true") MinnieKenny.testSettings else List()) implicit class ProjectTestSettings(val project: Project) extends AnyVal { def withTestSettings: Project = project From e96c5ec3a24133fb583a6b645e0a5957e6415387 Mon Sep 17 00:00:00 2001 From: Isaac Zarsky Date: Fri, 5 Mar 2021 16:40:13 -0500 Subject: [PATCH 08/12] fix for assembly issue --- project/Merging.scala | 1 + 1 file changed, 1 insertion(+) diff --git a/project/Merging.scala b/project/Merging.scala index c93704d1cc..067992d2b4 100644 --- a/project/Merging.scala +++ b/project/Merging.scala @@ -9,6 +9,7 @@ object Merging { case PathList("com", "typesafe", _ @ _*) => MergeStrategy.last case PathList("com", "google", "auto", "value", _ @ _*) => MergeStrategy.last case PathList("io", "sundr", _ @ _*) => MergeStrategy.last + case PathList("javax", "activation", _ @ _*) => MergeStrategy.first // For the following error: //[error] java.lang.RuntimeException: deduplicate: different file contents found in the following: //[error] /root/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.11.4/protobuf-java-3.11.4.jar:google/protobuf/field_mask.proto From 46cee513ab523ab1705146b95ce3d62784aeaf2c Mon Sep 17 00:00:00 2001 From: Isaac Zarsky Date: Tue, 9 Mar 2021 16:11:35 -0500 Subject: [PATCH 09/12] exclude instead of merging --- project/Dependencies.scala | 6 ++++-- project/Merging.scala | 1 - 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 1a4c208400..f7bc363274 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -108,8 +108,10 @@ object Dependencies { val accessContextManager = "com.google.apis" % "google-api-services-accesscontextmanager" % "v1beta-rev55-1.25.0" - val workspaceManager = excludeGuavaJDK5("bio.terra" % "workspace-manager-client" % "0.13.0-SNAPSHOT") - val dataRepo = excludeGuavaJDK5("bio.terra" % "datarepo-client" % "1.0.44-SNAPSHOT") + def swaggerClientExcludes(m: ModuleID): ModuleID = m.exclude("jakarta.activation", "jakarta.activation-api") + + val workspaceManager = swaggerClientExcludes("bio.terra" % "workspace-manager-client" % "0.13.0-SNAPSHOT") + val dataRepo = swaggerClientExcludes("bio.terra" % "datarepo-client" % "1.0.44-SNAPSHOT") val opencensusScalaCode: ModuleID = "com.github.sebruck" %% "opencensus-scala-core" % "0.7.0-M2" val opencensusAkkaHttp: ModuleID = "com.github.sebruck" %% "opencensus-scala-akka-http" % "0.7.0-M2" diff --git a/project/Merging.scala b/project/Merging.scala index 067992d2b4..c93704d1cc 100644 --- a/project/Merging.scala +++ b/project/Merging.scala @@ -9,7 +9,6 @@ object Merging { case PathList("com", "typesafe", _ @ _*) => MergeStrategy.last case PathList("com", "google", "auto", "value", _ @ _*) => MergeStrategy.last case PathList("io", "sundr", _ @ _*) => MergeStrategy.last - case PathList("javax", "activation", _ @ _*) => MergeStrategy.first // For the following error: //[error] java.lang.RuntimeException: deduplicate: different file contents found in the following: //[error] /root/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.11.4/protobuf-java-3.11.4.jar:google/protobuf/field_mask.proto From d70439b296faaf88c831a98b79eed6caa1512c5e Mon Sep 17 00:00:00 2001 From: Isaac Zarsky Date: Tue, 9 Mar 2021 17:02:43 -0500 Subject: [PATCH 10/12] handle lint warning --- build.sbt | 1 + 1 file changed, 1 insertion(+) diff --git a/build.sbt b/build.sbt index bc71353612..cf2ac22f09 100644 --- a/build.sbt +++ b/build.sbt @@ -50,6 +50,7 @@ lazy val rawls = project.in(file(".")) // This appears to do some magic to configure itself. It consistently fails in some environments // unless it is loaded after the settings definitions above. Revolver.settings +Global / excludeLintKeys += debugSettings // To avoid lint warning mainClass in reStart := Some("org.broadinstitute.dsde.rawls.Boot") From 3f3d4adbd7643531f016f140a78c3d644e05b9e1 Mon Sep 17 00:00:00 2001 From: Isaac Zarsky Date: Wed, 10 Mar 2021 15:54:28 -0500 Subject: [PATCH 11/12] teeny rename --- project/Dependencies.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index f7bc363274..89f568f0fd 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -108,10 +108,10 @@ object Dependencies { val accessContextManager = "com.google.apis" % "google-api-services-accesscontextmanager" % "v1beta-rev55-1.25.0" - def swaggerClientExcludes(m: ModuleID): ModuleID = m.exclude("jakarta.activation", "jakarta.activation-api") + def excludeJakartaActivationApi(m: ModuleID): ModuleID = m.exclude("jakarta.activation", "jakarta.activation-api") - val workspaceManager = swaggerClientExcludes("bio.terra" % "workspace-manager-client" % "0.13.0-SNAPSHOT") - val dataRepo = swaggerClientExcludes("bio.terra" % "datarepo-client" % "1.0.44-SNAPSHOT") + val workspaceManager = excludeJakartaActivationApi("bio.terra" % "workspace-manager-client" % "0.13.0-SNAPSHOT") + val dataRepo = excludeJakartaActivationApi("bio.terra" % "datarepo-client" % "1.0.44-SNAPSHOT") val opencensusScalaCode: ModuleID = "com.github.sebruck" %% "opencensus-scala-core" % "0.7.0-M2" val opencensusAkkaHttp: ModuleID = "com.github.sebruck" %% "opencensus-scala-akka-http" % "0.7.0-M2" From 2f04cafad855b85ceae4c5fbe2d8b2ce2ec9340e Mon Sep 17 00:00:00 2001 From: Isaac Zarsky Date: Wed, 10 Mar 2021 16:25:31 -0500 Subject: [PATCH 12/12] don't compare string to boolean --- project/Testing.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Testing.scala b/project/Testing.scala index 3258362c64..fe9da86c4d 100644 --- a/project/Testing.scala +++ b/project/Testing.scala @@ -59,7 +59,7 @@ object Testing { (testOnly in Test) := ((testOnly in Test) dependsOn validMySqlHost).evaluated, parallelExecution in Test := false - ) ++ (if (sys.props.getOrElse("secrets.skip", false) != "true") MinnieKenny.testSettings else List()) + ) ++ (if (sys.props.getOrElse("secrets.skip", "false") != "true") MinnieKenny.testSettings else List()) implicit class ProjectTestSettings(val project: Project) extends AnyVal { def withTestSettings: Project = project