diff --git a/.circleci/config.yml b/.circleci/config.yml index 1a12f497a..acbcf3fe4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -52,7 +52,7 @@ common_jobs: &common_jobs - integration-tests: matrix: parameters: - testing_profile: [ "singularity-tests", "bitbucket-tests" ] + testing_profile: [ "singularity-tests", "bitbucket-tests", "toil-integration-tests" ] <<: *common_filters <<: *slack_context requires: diff --git a/dockstore-client/src/main/java/io/dockstore/common/ToilOnlyTest.java b/dockstore-client/src/main/java/io/dockstore/common/ToilOnlyTest.java new file mode 100644 index 000000000..495f5c07d --- /dev/null +++ b/dockstore-client/src/main/java/io/dockstore/common/ToilOnlyTest.java @@ -0,0 +1,10 @@ +package io.dockstore.common; + +public interface ToilOnlyTest { + + String NAME = "io.dockstore.common.ToilOnlyTest"; + + default String getName() { + return NAME; + } +} diff --git a/dockstore-client/src/main/java/io/github/collaboratory/cwl/cwlrunner/ToilWrapper.java b/dockstore-client/src/main/java/io/github/collaboratory/cwl/cwlrunner/ToilWrapper.java index 3dc47b7e5..b993442ce 100644 --- a/dockstore-client/src/main/java/io/github/collaboratory/cwl/cwlrunner/ToilWrapper.java +++ b/dockstore-client/src/main/java/io/github/collaboratory/cwl/cwlrunner/ToilWrapper.java @@ -22,6 +22,8 @@ import io.dockstore.client.cli.ArgumentUtility; import io.dockstore.client.cli.Client; import io.dockstore.openapi.client.api.MetadataApi; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -35,9 +37,9 @@ public void checkForCWLDependencies(MetadataApi metadataApi) { final ImmutablePair pair1 = io.cwl.avro.Utilities .executeCommand(Joiner.on(" ").join(Arrays.asList(s1)), false, com.google.common.base.Optional.absent(), com.google.common.base.Optional.absent()); - final String toilVersion = pair1.getValue().trim(); + final String toilVersion = pair1.getKey().trim(); - final String expectedToilVersion = "3.15.0"; + final String expectedToilVersion = "7.0.0"; if (!toilVersion.equals(expectedToilVersion)) { ArgumentUtility.errorMessage("toil version is " + toilVersion + " , Dockstore is tested with " + expectedToilVersion + "\nOverride and run with `" + SCRIPT_FLAG + "`", Client.COMMAND_ERROR); @@ -49,9 +51,15 @@ public List getExecutionCommand(String outputDir, String tmpDir, String //TODO: this doesn't quite work yet, seeing "toil.batchSystems.abstractBatchSystem.InsufficientSystemResources: Requesting more disk // than either physically available, or enforced by --maxDisk. Requested: 537944653824, Available: 134853001216" on trivial // workflows like md5sum + + //try normalizing paths + Path currentRelativePath = Path.of(""); + Path tmpPath = Paths.get(currentRelativePath.toAbsolutePath().toString(), tmpDir); + tmpPath = tmpPath.normalize(); + ArrayList command = new ArrayList<>( - Arrays.asList("toil-cwl-runner", "--logError", "--outdir", outputDir, "--tmpdir-prefix", tmpDir, "--tmp-outdir-prefix", - workingDir, cwlFile)); + Arrays.asList("toil-cwl-runner", "--bypass-file-store", "--logError", "--outdir", outputDir, "--tmpdir-prefix", tmpPath.toString(), "--tmp-outdir-prefix", + workingDir, cwlFile)); jsonSettings.ifPresent(command::add); return command; } diff --git a/dockstore-client/src/test/java/io/github/collaboratory/cwl/ToilLauncherIT.java b/dockstore-client/src/test/java/io/github/collaboratory/cwl/ToilLauncherIT.java index 5f996f75e..7c28118b3 100644 --- a/dockstore-client/src/test/java/io/github/collaboratory/cwl/ToilLauncherIT.java +++ b/dockstore-client/src/test/java/io/github/collaboratory/cwl/ToilLauncherIT.java @@ -15,14 +15,16 @@ */ package io.github.collaboratory.cwl; +import io.dockstore.common.ToilOnlyTest; import org.apache.commons.io.FileUtils; -import org.junit.Ignore; +import org.junit.experimental.categories.Category; +import org.junit.jupiter.api.Tag; /** * @author dyuen */ -@Ignore -// @Category(ToilOnlyTest.class) +@Tag(ToilOnlyTest.NAME) +@Category(ToilOnlyTest.class) public class ToilLauncherIT extends LauncherIT { public String getConfigFile() { diff --git a/scripts/install-tests.sh b/scripts/install-tests.sh index 579ee9307..589f22748 100755 --- a/scripts/install-tests.sh +++ b/scripts/install-tests.sh @@ -12,7 +12,7 @@ if [ "${TESTING_PROFILE}" = "unit-tests" ] || [ "${TESTING_PROFILE}" == "automat fi if [ "${TESTING_PROFILE}" = "toil-integration-tests" ]; then - pip3 install --user toil[cwl]==3.15.0 + pip3 install --user toil[cwl]==7.0.0 else pip3 install --user -r https://raw.githubusercontent.com/dockstore/dockstore/develop/dockstore-webservice/src/main/resources/requirements/1.15.0/requirements3.txt fi