All checks were successful
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-runners (push) Has been skipped
CI/CD / e2e-smoke (push) Has been skipped
CI/CD / test-frontend (push) Successful in 6s
CI/CD / test-go-pg (push) Successful in 2m50s
CI/CD / test-sqlite (push) Successful in 2m54s
CI/CD / build-and-deploy (push) Successful in 35s
70 lines
2.2 KiB
YAML
70 lines
2.2 KiB
YAML
# docker-compose.ci.yml — CI test override
|
|
#
|
|
# Extends base docker-compose.yml. Adds a healthcheck to armature and
|
|
# Playwright-based test services. All containers share the default compose
|
|
# bridge network, so services reach armature via Docker DNS (http://armature:80).
|
|
#
|
|
# Usage (test-runner):
|
|
# docker compose -f docker-compose.yml -f docker-compose.ci.yml up --build \
|
|
# --abort-on-container-exit --exit-code-from test-runner
|
|
#
|
|
# Usage (e2e-smoke):
|
|
# docker compose -f docker-compose.yml -f docker-compose.ci.yml up --build \
|
|
# --abort-on-container-exit --exit-code-from e2e-smoke
|
|
#
|
|
# The workflow exits with the selected service's exit code (0 = pass, 1 = fail).
|
|
#
|
|
# NOTE: Do NOT use network_mode: host — the workflow container and compose
|
|
# containers are in separate network namespaces inside DinD. Use the default
|
|
# bridge network and let services talk via Docker DNS instead.
|
|
|
|
services:
|
|
armature:
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-sf", "http://localhost:80/api/v1/health"]
|
|
interval: 2s
|
|
timeout: 3s
|
|
retries: 30
|
|
start_period: 5s
|
|
|
|
test-runner:
|
|
build:
|
|
context: .
|
|
dockerfile_inline: |
|
|
FROM mcr.microsoft.com/playwright:v1.52.0-noble
|
|
WORKDIR /work
|
|
RUN npm init -y && npm install playwright@1.52.0
|
|
COPY ci/ /work/ci/
|
|
RUN chmod +x /work/ci/*.sh
|
|
depends_on:
|
|
armature:
|
|
condition: service_healthy
|
|
working_dir: /work
|
|
environment:
|
|
SERVER_URL: http://armature:80
|
|
ADMIN_USER: admin
|
|
ADMIN_PASS: admin
|
|
command: ["bash", "-c", "./ci/run-surface-tests.sh"]
|
|
|
|
e2e-smoke:
|
|
build:
|
|
context: .
|
|
dockerfile_inline: |
|
|
FROM mcr.microsoft.com/playwright:v1.52.0-noble
|
|
WORKDIR /work
|
|
RUN npm init -y && npm install playwright@1.52.0
|
|
COPY ci/ /work/ci/
|
|
RUN chmod +x /work/ci/*.sh
|
|
depends_on:
|
|
armature:
|
|
condition: service_healthy
|
|
working_dir: /work
|
|
environment:
|
|
SERVER_URL: http://armature:80
|
|
ADMIN_USER: admin
|
|
ADMIN_PASS: admin
|
|
SCREENSHOT_DIR: /tmp/e2e-screenshots
|
|
volumes:
|
|
- /tmp/e2e-screenshots:/tmp/e2e-screenshots
|
|
command: ["bash", "-c", "./ci/e2e-smoke-test.sh"]
|