From c150e7891c4d8d38be70c38e24334031f5868e54 Mon Sep 17 00:00:00 2001 From: Abhinav Sharma Date: Tue, 27 Sep 2022 16:10:34 +0200 Subject: [PATCH] Fix chmod command to accommodate hidden files in bindir (or empty bindir) (#3247) --- .../cloud/aws/batch/AwsBatchFileCopyStrategy.groovy | 2 +- .../cloud/aws/batch/AwsBatchFileCopyStrategyTest.groovy | 6 +++--- .../cloud/aws/batch/AwsBatchScriptLauncherTest.groovy | 2 +- .../nextflow/cloud/azure/batch/AzFileCopyStrategy.groovy | 2 +- .../cloud/azure/batch/AzFileCopyStrategyTest.groovy | 2 +- .../GoogleLifeSciencesFileCopyStrategyTest.groovy | 2 +- .../GoogleLifeSciencesScriptLauncherTest.groovy | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/plugins/nf-amazon/src/main/nextflow/cloud/aws/batch/AwsBatchFileCopyStrategy.groovy b/plugins/nf-amazon/src/main/nextflow/cloud/aws/batch/AwsBatchFileCopyStrategy.groovy index 36116e5174..0ebe371c5d 100644 --- a/plugins/nf-amazon/src/main/nextflow/cloud/aws/batch/AwsBatchFileCopyStrategy.groovy +++ b/plugins/nf-amazon/src/main/nextflow/cloud/aws/batch/AwsBatchFileCopyStrategy.groovy @@ -71,7 +71,7 @@ class AwsBatchFileCopyStrategy extends SimpleFileCopyStrategy { // when a remote bin directory is provide managed it properly if( opts.remoteBinDir ) { result << "${opts.getAwsCli()} s3 cp --recursive --only-show-errors s3:/${opts.remoteBinDir} \$PWD/nextflow-bin\n" - result << "chmod +x \$PWD/nextflow-bin/*\n" + result << "chmod +x \$PWD/nextflow-bin/* || true\n" result << "export PATH=\$PWD/nextflow-bin:\$PATH\n" } // finally render the environment diff --git a/plugins/nf-amazon/src/test/nextflow/cloud/aws/batch/AwsBatchFileCopyStrategyTest.groovy b/plugins/nf-amazon/src/test/nextflow/cloud/aws/batch/AwsBatchFileCopyStrategyTest.groovy index 0c4fe1a1a1..a00331a018 100644 --- a/plugins/nf-amazon/src/test/nextflow/cloud/aws/batch/AwsBatchFileCopyStrategyTest.groovy +++ b/plugins/nf-amazon/src/test/nextflow/cloud/aws/batch/AwsBatchFileCopyStrategyTest.groovy @@ -326,7 +326,7 @@ class AwsBatchFileCopyStrategyTest extends Specification { opts.getAwsCli() >> 'aws' script == ''' aws s3 cp --recursive --only-show-errors s3://foo/bar $PWD/nextflow-bin - chmod +x $PWD/nextflow-bin/* + chmod +x $PWD/nextflow-bin/* || true export PATH=$PWD/nextflow-bin:$PATH export BAR="world" export FOO="hola" @@ -339,7 +339,7 @@ class AwsBatchFileCopyStrategyTest extends Specification { opts.getRemoteBinDir() >> '/foo/bar' script == ''' /conda/bin/aws s3 cp --recursive --only-show-errors s3://foo/bar $PWD/nextflow-bin - chmod +x $PWD/nextflow-bin/* + chmod +x $PWD/nextflow-bin/* || true export PATH=$PWD/nextflow-bin:$PATH export BAR="world" export FOO="hola" @@ -353,7 +353,7 @@ class AwsBatchFileCopyStrategyTest extends Specification { opts.getRegion() >> 'eu-west-1' script == ''' /conda/bin/aws s3 cp --recursive --only-show-errors s3://foo/bar $PWD/nextflow-bin - chmod +x $PWD/nextflow-bin/* + chmod +x $PWD/nextflow-bin/* || true export PATH=$PWD/nextflow-bin:$PATH export BAR="world" export FOO="hola" diff --git a/plugins/nf-amazon/src/test/nextflow/cloud/aws/batch/AwsBatchScriptLauncherTest.groovy b/plugins/nf-amazon/src/test/nextflow/cloud/aws/batch/AwsBatchScriptLauncherTest.groovy index b30a2a34d4..633e755cc0 100644 --- a/plugins/nf-amazon/src/test/nextflow/cloud/aws/batch/AwsBatchScriptLauncherTest.groovy +++ b/plugins/nf-amazon/src/test/nextflow/cloud/aws/batch/AwsBatchScriptLauncherTest.groovy @@ -159,7 +159,7 @@ class AwsBatchScriptLauncherTest extends Specification { then: binding.task_env == '''\ aws s3 cp --recursive --only-show-errors s3://bucket/bin $PWD/nextflow-bin - chmod +x $PWD/nextflow-bin/* + chmod +x $PWD/nextflow-bin/* || true export PATH=$PWD/nextflow-bin:$PATH export FOO="xxx" '''.stripIndent() diff --git a/plugins/nf-azure/src/main/nextflow/cloud/azure/batch/AzFileCopyStrategy.groovy b/plugins/nf-azure/src/main/nextflow/cloud/azure/batch/AzFileCopyStrategy.groovy index 8ec6b35922..3476c184da 100644 --- a/plugins/nf-azure/src/main/nextflow/cloud/azure/batch/AzFileCopyStrategy.groovy +++ b/plugins/nf-azure/src/main/nextflow/cloud/azure/batch/AzFileCopyStrategy.groovy @@ -87,7 +87,7 @@ class AzFileCopyStrategy extends SimpleFileCopyStrategy { String getStageInputFilesScript(Map inputFiles) { String result = ( remoteBinDir ? """\ nxf_az_download '${AzHelper.toHttpUrl(remoteBinDir)}' \$PWD/.nextflow-bin - chmod +x \$PWD/.nextflow-bin/* + chmod +x \$PWD/.nextflow-bin/* || true """.stripIndent() : '' ) result += 'downloads=(true)\n' diff --git a/plugins/nf-azure/src/test/nextflow/cloud/azure/batch/AzFileCopyStrategyTest.groovy b/plugins/nf-azure/src/test/nextflow/cloud/azure/batch/AzFileCopyStrategyTest.groovy index 5b1c477a1a..c50aac74c6 100644 --- a/plugins/nf-azure/src/test/nextflow/cloud/azure/batch/AzFileCopyStrategyTest.groovy +++ b/plugins/nf-azure/src/test/nextflow/cloud/azure/batch/AzFileCopyStrategyTest.groovy @@ -216,7 +216,7 @@ class AzFileCopyStrategyTest extends Specification { binding.stage_inputs == '''\ # stage input files nxf_az_download 'http://account.blob.core.windows.net/my-data/work/remote/bin' $PWD/.nextflow-bin - chmod +x $PWD/.nextflow-bin/* + chmod +x $PWD/.nextflow-bin/* || true downloads=(true) nxf_parallel "${downloads[@]}" diff --git a/plugins/nf-google/src/test/nextflow/cloud/google/lifesciences/GoogleLifeSciencesFileCopyStrategyTest.groovy b/plugins/nf-google/src/test/nextflow/cloud/google/lifesciences/GoogleLifeSciencesFileCopyStrategyTest.groovy index 1c1f562915..eef2d7d1dc 100644 --- a/plugins/nf-google/src/test/nextflow/cloud/google/lifesciences/GoogleLifeSciencesFileCopyStrategyTest.groovy +++ b/plugins/nf-google/src/test/nextflow/cloud/google/lifesciences/GoogleLifeSciencesFileCopyStrategyTest.groovy @@ -219,7 +219,7 @@ class GoogleLifeSciencesFileCopyStrategyTest extends GoogleSpecification { def envScript = strategy.getEnvScript([FOO:1, BAR: 2, PATH: 3], false) then: envScript == '''\ - chmod +x /work/xx/yy/nextflow-bin/* + chmod +x /work/xx/yy/nextflow-bin/* || true export PATH=/work/xx/yy/nextflow-bin:$PATH export BAR="2" export FOO="1" diff --git a/plugins/nf-google/src/test/nextflow/cloud/google/lifesciences/GoogleLifeSciencesScriptLauncherTest.groovy b/plugins/nf-google/src/test/nextflow/cloud/google/lifesciences/GoogleLifeSciencesScriptLauncherTest.groovy index 78d259587e..3f66ab4f3d 100644 --- a/plugins/nf-google/src/test/nextflow/cloud/google/lifesciences/GoogleLifeSciencesScriptLauncherTest.groovy +++ b/plugins/nf-google/src/test/nextflow/cloud/google/lifesciences/GoogleLifeSciencesScriptLauncherTest.groovy @@ -56,7 +56,7 @@ class GoogleLifeSciencesScriptLauncherTest extends GoogleSpecification { binding.stage_cmd == null binding.unstage_cmd == null binding.task_env == '''\ - chmod +x /work/xx/yy/nextflow-bin/* + chmod +x /work/xx/yy/nextflow-bin/* || true export PATH=/work/xx/yy/nextflow-bin:$PATH export FOO="xxx" '''.stripIndent()