diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 63a3b55..eeceeaf 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -384,32 +384,12 @@ jobs: - name: Checkout uses: actions/checkout@v4 - # In DinD (Gitea runners), the workspace is a Docker volume, not a - # host path. Resolve the volume backing $PWD so the test-runner - # container can mount the same checkout. - - name: Resolve workspace volume - id: ws - run: | - # The CI runner's own container has the workspace mounted. - # Find which Docker volume backs the current working directory. - SELF=$(cat /proc/1/cpuset 2>/dev/null | sed 's|.*/||' || hostname) - VOL=$(docker inspect "$SELF" 2>/dev/null \ - | grep -oP '"Source":\s*"\K[^"]+' \ - | head -1) || true - if [ -z "$VOL" ]; then - # Fallback: current directory (works for non-DinD environments) - VOL="." - fi - echo "CI_WORKSPACE_VOLUME=${VOL}" >> "$GITHUB_OUTPUT" - echo "Workspace volume → ${VOL}" - - name: Run surface tests (compose) env: BUNDLED_PACKAGES: '*' ARMATURE_ADMIN_USERNAME: admin ARMATURE_ADMIN_PASSWORD: admin ARMATURE_ADMIN_EMAIL: admin@test.local - CI_WORKSPACE_VOLUME: ${{ steps.ws.outputs.CI_WORKSPACE_VOLUME }} run: | docker compose -f docker-compose.yml -f docker-compose.ci.yml up --build \ --abort-on-container-exit \ diff --git a/docker-compose.ci.yml b/docker-compose.ci.yml index 5f1ea0d..e315928 100644 --- a/docker-compose.ci.yml +++ b/docker-compose.ci.yml @@ -25,20 +25,20 @@ services: start_period: 5s test-runner: - image: mcr.microsoft.com/playwright:v1.52.0-noble + build: + context: . + dockerfile_inline: | + FROM mcr.microsoft.com/playwright:v1.52.0-noble + RUN npm install --no-save playwright 2>/dev/null + WORKDIR /work + COPY ci/ /work/ci/ + RUN chmod +x /work/ci/*.sh depends_on: armature: condition: service_healthy working_dir: /work - volumes: - - ${CI_WORKSPACE_VOLUME:-.}:/work environment: SERVER_URL: http://armature:80 ADMIN_USER: admin ADMIN_PASS: admin - command: - - bash - - -c - - | - npm install --no-save playwright 2>/dev/null - ./ci/run-surface-tests.sh + command: ["bash", "-c", "./ci/run-surface-tests.sh"]