The comand is executing as a login shell (bash -l ../command); this means that /etc/profile is first sourced, which overwrites the PATH to /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. If I've extended or altered the PATH in the docker image running the task, this change will be overwritten by the PATH in /etc/profile, meaning that the task is potentially unable to find executables.
The output path should be /usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt.
Actual Behavior
The actual path output is /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin, which is the path defined in /etc/profile in debian-based images.
Additional Context
Operating System: Debian GNU/Linux 11 (bullseye)
AGC Version: 1.6.0
Was AGC setup with a custom bucket: Yes
Was AGC setup with a custom VPC: Yes
Describe the Bug The command that miniwdl executes in the batch job:
More readably:
The comand is executing as a login shell (
bash -l ../command
); this means that/etc/profile
is first sourced, which overwrites the PATH to/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. If I've extended or altered the PATH in the docker image running the task, this change will be overwritten by the PATH in/etc/profile
, meaning that the task is potentially unable to find executables.This has been fixed in release 0.9.0 of miniwdl-aws.
Steps to Reproduce
ENV PATH "${PATH}:/opt"
Run this using a
miniwdl
engine viaagc
.Expected Behavior
The output path should be
/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt
.Actual Behavior
The actual path output is
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
, which is the path defined in/etc/profile
in debian-based images.Additional Context
Operating System: Debian GNU/Linux 11 (bullseye) AGC Version: 1.6.0 Was AGC setup with a custom bucket: Yes Was AGC setup with a custom VPC: Yes