diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml index 014d5425f..cf98df2fe 100644 --- a/.github/workflows/e2e-test.yml +++ b/.github/workflows/e2e-test.yml @@ -89,7 +89,11 @@ jobs: chown openshell-test: "/run/user/$(id -u openshell-test)" chmod 700 "/run/user/$(id -u openshell-test)" chown -R openshell-test: . - for dir in /root/.cargo /root/.rustup /root/.local/share/mise /opt/mise; do + # Root's home is mode 0700, so the rootless user cannot traverse it + # to reach mise (/root/.local/bin) or cargo (/root/.cargo/bin) on + # PATH. Add the search bit so those binaries are reachable. + chmod a+x /root + for dir in /root/.cargo /root/.rustup /root/.local/bin /root/.local/share/mise /opt/mise; do [ -d "$dir" ] && chmod -R a+rX "$dir" done @@ -107,9 +111,10 @@ jobs: runuser -u openshell-test -- env \ XDG_RUNTIME_DIR="/run/user/${TESTUID}" \ HOME="/home/openshell-test" \ - PATH="/root/.cargo/bin:/opt/mise/shims:/opt/mise/bin:${PATH}" \ + PATH="/root/.cargo/bin:/root/.local/bin:/opt/mise/shims:/opt/mise/bin:${PATH}" \ CARGO_HOME="/root/.cargo" \ RUSTUP_HOME="/root/.rustup" \ + MISE_CACHE_DIR="/home/openshell-test/.cache/mise" \ OPENSHELL_SUPERVISOR_IMAGE="${OPENSHELL_SUPERVISOR_IMAGE}" \ OPENSHELL_REGISTRY="${OPENSHELL_REGISTRY}" \ OPENSHELL_REGISTRY_HOST="${OPENSHELL_REGISTRY_HOST}" \