Cached venv has broken internal paths even when using venv/bin/python
directly. Clear caches and use . venv/bin/activate + python -m pytest
which correctly sets VIRTUAL_ENV for module resolution.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
activate doesn't reliably shadow system python3 on the VPS runner.
Using the explicit venv path matches what the cache validation check
already uses.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
VPS host has python3 (not python) available. Fixes "python: command
not found" error from previous commit.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The CI container may not have /volume1/docker/claude-dev/.env mounted,
causing 'docker compose config' to fail.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Venv symlinks break when cache is used across different environments
(VPS host vs NAS Docker). python -m pytest is resilient because it
loads pytest as a module, not via a shebang-based script.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
host.docker.internal not resolving in act containers on Synology Docker.
The gateway IP 172.21.0.1 routes to the host where Gitea is now
bound to 0.0.0.0:3300.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Use host.docker.internal:3300 with ubuntu-latest runner.
Gitea port now bound to 0.0.0.0:3300 so Docker containers
can reach it.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Changed Gitea HTTP port binding from 127.0.0.1:3300 to 0.0.0.0:3300
so Docker containers can reach Gitea via host.docker.internal.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Docker volume mounts may not auto-create mount points inside the
job container. Use mkdir -p to ensure the target directory exists
before copying files.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The act Docker containers on the NAS runner cannot reach Gitea
on the gitea_gitea network despite the runner config. Switching
to the 'nas' runner label which uses host mode — jobs run directly
on the NAS host where localhost:3300 reaches Gitea.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replaces 'gitea:3000' with '172.21.0.4:3000' to bypass DNS
resolution issues in act job containers. Also removed --dns
override from runner-config.yaml which was breaking Docker's
embedded DNS and container name resolution.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The cached venv's python binary may work but tool symlinks (pytest, etc.)
break when restored in a different environment. Test pytest specifically
to catch this.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.