You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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's tools -- 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.
The text was updated successfully, but these errors were encountered:
Problem
If the
build
directory in a Twoliter workspace is a symlink, Twoliter will fail to execute any of itstools
from within Docker/BuildKit.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
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.build
is a symlink that would "escape" the docker build context and raise an error.The text was updated successfully, but these errors were encountered: