diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index ebafe51064c..61ed3c5af41 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -32,6 +32,9 @@ jobs: - build_type: centaurPapiV2beta build_mysql: 5.7 friendly_name: Centaur Papi V2 Beta with MySQL 5.7 + - build_type: centaurPapiV2betaRestart + build_mysql: 5.7 + friendly_name: Centaur Papi V2 Beta (restart) - build_type: dbms friendly_name: DBMS - build_type: centaurTes diff --git a/.gitignore b/.gitignore index 250b6aa3c16..94accae9038 100644 --- a/.gitignore +++ b/.gitignore @@ -58,6 +58,10 @@ tesk_application.conf **/venv/ exome_germline_single_sample_v1.3/ **/*.pyc +src/ci/resources/*.temp # GHA credentials gha-creds-*.json + +# jenv +.java-version diff --git a/centaur/src/main/resources/standardTestCases/failures.restart_while_failing_jes.test b/centaur/src/main/resources/standardTestCases/failures.restart_while_failing_jes.test index 1ac12322f4f..182a833fbdb 100644 --- a/centaur/src/main/resources/standardTestCases/failures.restart_while_failing_jes.test +++ b/centaur/src/main/resources/standardTestCases/failures.restart_while_failing_jes.test @@ -2,6 +2,7 @@ name: failures.restart_while_failing_jes testFormat: WorkflowFailureRestartWithRecover callMark: restart_while_failing.B1 backends: [Papi] +tags: [restart] files { workflow: failures/restart_while_failing/restart_while_failing.wdl diff --git a/centaur/src/main/resources/standardTestCases/failures.restart_while_failing_local.test b/centaur/src/main/resources/standardTestCases/failures.restart_while_failing_local.test index f686b16c817..58abbf78245 100644 --- a/centaur/src/main/resources/standardTestCases/failures.restart_while_failing_local.test +++ b/centaur/src/main/resources/standardTestCases/failures.restart_while_failing_local.test @@ -3,7 +3,7 @@ testFormat: WorkflowFailureRestartWithRecover callMark: restart_while_failing.B1 backendsMode: "only" backends: [Local, LocalNoDocker] -tags: [localdockertest] +tags: [localdockertest, restart] files { workflow: failures/restart_while_failing/restart_while_failing.wdl diff --git a/centaur/src/main/resources/standardTestCases/failures.restart_while_failing_tes.test b/centaur/src/main/resources/standardTestCases/failures.restart_while_failing_tes.test index 64ea5fd8906..9bb9c1a55d6 100644 --- a/centaur/src/main/resources/standardTestCases/failures.restart_while_failing_tes.test +++ b/centaur/src/main/resources/standardTestCases/failures.restart_while_failing_tes.test @@ -2,7 +2,7 @@ name: failures.restart_while_failing_tes testFormat: WorkflowFailureRestartWithoutRecover callMark: restart_while_failing.B1 backends: [TES] -tags: [localdockertest] +tags: [localdockertest, restart] files { workflow: failures/restart_while_failing/restart_while_failing.wdl diff --git a/project/ContinuousIntegration.scala b/project/ContinuousIntegration.scala index d5dd3262f87..f0516150cf5 100644 --- a/project/ContinuousIntegration.scala +++ b/project/ContinuousIntegration.scala @@ -9,6 +9,8 @@ object ContinuousIntegration { lazy val ciSettings: Seq[Setting[_]] = List( srcCiResources := sourceDirectory.value / "ci" / "resources", targetCiResources := target.value / "ci" / "resources", + envFile := srcCiResources.value / "env.temp", //generated by resources/acquire_b2c_token.sh + vaultToken := userHome / ".vault-token", copyCiResources := { IO.copyDirectory(srcCiResources.value, targetCiResources.value) @@ -26,7 +28,12 @@ object ContinuousIntegration { if (vaultToken.value.isDirectory) { sys.error(s"""The vault token file "${vaultToken.value}" should not be a directory.""") } - val cmd = List( + + // Only include the local file argument if the file exists (local development w/ acquire_b2c_token.sh) + // Don't include it otherwise (CI/CD and other development) + val localEnvFileArgs = if(envFile.value.exists()) List("-e", s"ENV_FILE=${envFile.value}") else List() + + val cmd: List[String] = List.concat(List( "docker", "run", "--rm", @@ -35,7 +42,9 @@ object ContinuousIntegration { "-v", s"${srcCiResources.value}:${srcCiResources.value}", "-v", - s"${targetCiResources.value}:${targetCiResources.value}", + s"${targetCiResources.value}:${targetCiResources.value}"), + localEnvFileArgs, + List( "-e", "ENVIRONMENT=not_used", "-e", @@ -44,7 +53,7 @@ object ContinuousIntegration { s"OUT_PATH=${targetCiResources.value}", "broadinstitute/dsde-toolbox:dev", "render-templates.sh" - ) + )) val result = cmd ! log if (result != 0) { sys.error( @@ -70,6 +79,7 @@ object ContinuousIntegration { private val srcCiResources: SettingKey[File] = settingKey[File]("Source directory for CI resources") private val targetCiResources: SettingKey[File] = settingKey[File]("Target directory for CI resources") private val vaultToken: SettingKey[File] = settingKey[File]("File with the vault token") + private val envFile: SettingKey[File] = settingKey[File]("File with the environment variables needed to render CI resources.") /** * For "reasons" these projects are excluded from the root aggregation in build.sbt. diff --git a/runConfigurations/Repo template_ Cromwell server TES.run.xml b/runConfigurations/Repo template_ Cromwell server TES.run.xml index 32127027ecc..192b73735b8 100644 --- a/runConfigurations/Repo template_ Cromwell server TES.run.xml +++ b/runConfigurations/Repo template_ Cromwell server TES.run.xml @@ -19,4 +19,24 @@