Bug Description
After merging #1221 (agfs → ragfs rewrite), the Dockerfile's py-builder stage fails with maturin: not found when building on cloud CI environments.
Steps to Reproduce
Build the Dockerfile from the main branch on a clean CI environment (e.g., GitHub Actions, GitLab CI):
docker build -t openviking .
Error
#34 117.5 + maturin==1.12.6
#34 117.5 /bin/sh: 1: maturin: not found
#34 ERROR: executor failed running [...]: exit code: 127
Root Cause
In the py-builder stage (line 75-99), uv pip install maturin installs maturin to /app/.venv/bin/maturin. However, the PATH at this stage only includes /usr/local/cargo/bin:/usr/local/go/bin (set at line 19), not /app/.venv/bin.
The runtime stage (Stage 4, line 111) has ENV PATH="/app/.venv/bin:$PATH", but this doesn't apply to the py-builder stage where maturin is actually invoked.
Suggested Fix
Add the venv to PATH before the ragfs-python build step:
ENV PATH="/app/.venv/bin:${PATH}"
RUN --mount=type=cache,target=/root/.cache/uv,id=uv-${TARGETPLATFORM} \
uv pip install maturin && \
...
Environment
Bug Description
After merging #1221 (agfs → ragfs rewrite), the Dockerfile's
py-builderstage fails withmaturin: not foundwhen building on cloud CI environments.Steps to Reproduce
Build the Dockerfile from the
mainbranch on a clean CI environment (e.g., GitHub Actions, GitLab CI):docker build -t openviking .Error
Root Cause
In the
py-builderstage (line 75-99),uv pip install maturininstalls maturin to/app/.venv/bin/maturin. However, thePATHat this stage only includes/usr/local/cargo/bin:/usr/local/go/bin(set at line 19), not/app/.venv/bin.The runtime stage (Stage 4, line 111) has
ENV PATH="/app/.venv/bin:$PATH", but this doesn't apply to the py-builder stage where maturin is actually invoked.Suggested Fix
Add the venv to PATH before the ragfs-python build step:
Environment