Open
Description
Problem
If the build
directory in a Twoliter workspace is a symlink, Twoliter will fail to execute any of its tools
from within Docker/BuildKit.
0.066 /bin/sh: line 1: /host/build/tools/pipesys: No such file or directory
This is because the Twoliter workspace is mounted as /host
in the Docker build context, which is unlikely to also contain the symlink target for /host/build
. When twoliter attempts to execute a tool, it will be unable to find it.
Proposed Solution
- Find an alternative mechanism for injecting Twoliter's "tools" into the build context. Buildkit supports adding additional arbitrary "build contexts" to a given build. The
host
mount in our Dockerfile only seems to be used as a mechanism for getting Twoliter'stools
-- perhaps we could explicitly add a context for the tools which follows symlinks. - An alternative (though leakier) solution could be to detect that
build
is a symlink that would "escape" the docker build context and raise an error.
Metadata
Assignees
Labels
No labels