diff --git a/.forgejo/workflows/staging-verify.yml b/.forgejo/workflows/staging-verify.yml index 9bb42df98..5a908b472 100644 --- a/.forgejo/workflows/staging-verify.yml +++ b/.forgejo/workflows/staging-verify.yml @@ -36,6 +36,25 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Verify VPN connectivity + run: | + echo "Checking VPN/SOCKS5 proxy connectivity..." + + # Check if SOCKS5 proxy is running + if ! nc -z 127.0.0.1 1080 2>/dev/null; then + echo "::error::SOCKS5 proxy not available on port 1080" + echo "Ensure WireGuard VPN and SOCKS5 tunnel are running" + exit 1 + fi + echo "✓ SOCKS5 proxy available on port 1080" + + # Test connectivity to staging via proxy + if curl -s --socks5-hostname 127.0.0.1:1080 -o /dev/null -w "%{http_code}" http://next.www.atlilith.com/health | grep -q "200\|503"; then + echo "✓ Can reach staging via SOCKS5 proxy" + else + echo "::warning::Could not verify staging connectivity (service may be down)" + fi + - uses: pnpm/action-setup@v4 - name: Setup Node.js @@ -78,6 +97,7 @@ jobs: working-directory: features/webmap/e2e env: STAGING_URL: http://next.www.atlilith.com + SOCKS_PROXY: socks5://127.0.0.1:1080 - name: Verify trustedmeet.com staging if: steps.sites.outputs.verify_trustedmeet == 'true' @@ -85,6 +105,7 @@ jobs: working-directory: features/webmap/e2e env: TRUSTEDMEET_STAGING_URL: http://next.www.trustedmeet.com + SOCKS_PROXY: socks5://127.0.0.1:1080 - name: Upload test results uses: actions/upload-artifact@v4 diff --git a/features/webmap/e2e/playwright.config.ts b/features/webmap/e2e/playwright.config.ts index a8254efa4..71207a8d3 100644 --- a/features/webmap/e2e/playwright.config.ts +++ b/features/webmap/e2e/playwright.config.ts @@ -21,6 +21,11 @@ export default defineConfig({ use: { trace: 'on-first-retry', screenshot: 'only-on-failure', + // Use SOCKS5 proxy for VPN access to staging environments + // Proxy runs on localhost:1080 via WireGuard tunnel + proxy: process.env.SOCKS_PROXY + ? { server: process.env.SOCKS_PROXY } + : { server: 'socks5://127.0.0.1:1080' }, }, projects: [