name: Test Virgin User on: workflow_call: jobs: test-virgin-user: runs-on: ubuntu-latest timeout-minutes: 45 steps: - name: Checkout repository uses: actions/checkout@v4 - name: Show Docker version run: docker version - name: Virgin Arch pkgmgr user test (non-root with sudo) run: | set -euo pipefail docker run --rm \ -v "$PWD":/src \ -w /src \ archlinux:latest \ bash -lc ' set -euo pipefail pacman -Syu --noconfirm git python python-pip sudo base-devel debugedit nix make make install useradd -m dev echo "dev ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/dev chmod 0440 /etc/sudoers.d/dev chown -R dev:dev /src # --- make Nix usable for non-root inside this container --- mkdir -p /nix/store /nix/var/nix /nix/var/log/nix /nix/var/nix/profiles chown -R dev:dev /nix chmod 0755 /nix chmod 1777 /nix/store sudo -H -u dev env HOME=/home/dev PKGMGR_DISABLE_NIX_FLAKE_INSTALLER=1 bash -lc " set -euo pipefail cd /src echo \">>> [dev] Using user: \$(whoami)\" echo \">>> [dev] Running make setup-venv...\" make setup-venv echo \">>> [dev] Activating venv...\" . \"\$HOME/.venvs/pkgmgr/bin/activate\" echo \">>> [dev] Running: pkgmgr version pkgmgr\" pkgmgr version pkgmgr echo \">>> [dev] Running Nix-based pkgmgr version...\" export NIX_REMOTE=local export NIX_CONFIG=\"experimental-features = nix-command flakes\" nix run /src#pkgmgr -- version pkgmgr " '