Skip to content

Commit 970d4e8

Browse files
authored
Bugfix --preserve-environment and add --preserve-entire-environment. (#199)
1 parent 949a999 commit 970d4e8

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

cwltool/job.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@ def run(self, dry_run=False, pull_image=True, rm_container=True,
137137
if not os.path.exists(self.tmpdir):
138138
os.makedirs(self.tmpdir)
139139
vars_to_preserve = kwargs.get("preserve_environment")
140+
if kwargs.get("preserve_entire_environment"):
141+
vars_to_preserve = os.environ
140142
if vars_to_preserve is not None:
141143
for key, value in os.environ.items():
142144
if key in vars_to_preserve and key not in env:

cwltool/main.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,17 @@ def arg_parser(): # type: () -> argparse.ArgumentParser
5050
help="Do not execute jobs in a Docker container, even when specified by the CommandLineTool",
5151
dest="use_container")
5252

53-
parser.add_argument("--preserve-environment", type=Text, nargs='+',
54-
help="Preserve specified environment variables when running CommandLineTools",
55-
metavar=("VAR1,VAR2"),
56-
default=("PATH",),
53+
parser.add_argument("--preserve-environment", type=Text, action="append",
54+
help="Preserve specific environment variable when running CommandLineTools. May be provided multiple times.",
55+
metavar="ENVVAR",
56+
default=["PATH"],
5757
dest="preserve_environment")
5858

59+
parser.add_argument("--preserve-entire-environment", action="store_true",
60+
help="Preserve entire parent environment when running CommandLineTools.",
61+
default=False,
62+
dest="preserve_entire_environment")
63+
5964
exgroup = parser.add_mutually_exclusive_group()
6065
exgroup.add_argument("--rm-container", action="store_true", default=True,
6166
help="Delete Docker container used by jobs after they exit (default)",

0 commit comments

Comments
 (0)