Commit Graph

4 Commits

Author SHA1 Message Date
5a364e75f2 Fix test-runner volume mount for DinD workspace
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 5s
CI/CD / test-frontend (pull_request) Successful in 6s
CI/CD / test-go-pg (pull_request) Successful in 2m48s
CI/CD / test-sqlite (pull_request) Successful in 2m50s
CI/CD / test-runners (pull_request) Failing after 16s
CI/CD / build-and-deploy (pull_request) Has been skipped
In Gitea runner pods, the repo checkout lives in a Docker volume, not
a host path. The `.:/work` mount in docker-compose.ci.yml resolved to
the Docker daemon's CWD (empty), causing "No such file or directory".

Resolve the actual Docker volume backing the CI workspace at runtime
and pass it via CI_WORKSPACE_VOLUME env var. Falls back to `.` for
local (non-DinD) usage.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 09:52:33 +00:00
d499ba9e38 Fix CI healthcheck endpoint and bundled install FK violations
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Successful in 2m44s
CI/CD / test-sqlite (pull_request) Successful in 2m55s
CI/CD / test-runners (pull_request) Failing after 1m43s
CI/CD / build-and-deploy (pull_request) Has been skipped
Two bugs preventing the test-runners CI job from passing:

1. Health check used GET /api/v1/auth/login — a POST-only route that
   always returns 404. Changed to GET /api/v1/health which exists.

2. Bundled package install passed empty strings to FK-constrained
   columns (global_settings.updated_by, workflows.created_by),
   causing FOREIGN KEY constraint failures on every surface and
   workflow package. Fixed by resolving the bootstrap admin user ID
   at startup and threading it through the install path.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 09:41:23 +00:00
d7242cb34e Fix CI DinD networking: replace host mode with compose-internal Playwright
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 6s
CI/CD / test-go-pg (pull_request) Successful in 2m44s
CI/CD / test-sqlite (pull_request) Successful in 2m48s
CI/CD / test-runners (pull_request) Failing after 2m38s
CI/CD / build-and-deploy (pull_request) Has been skipped
The test-runners job was failing because network_mode: host puts the
armature container on DinD's network namespace, unreachable from the
workflow container which is on a separate bridge network.

Fix: Remove host networking entirely. Add a test-runner service to the
CI compose override that runs Playwright tests on the same bridge
network as armature, using Docker DNS (http://armature:80).

Changes:
- docker-compose.ci.yml: Replace network_mode: host with healthcheck
  on armature + Playwright test-runner service (depends_on: healthy)
- ci.yaml: Collapse 7 test-runners steps into 3 (checkout, compose
  up --exit-code-from test-runner, teardown)
2026-04-02 05:24:41 -04:00
e45c31caaa Fix CI DinD networking: host network mode + curl timeout
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 3s
CI/CD / test-frontend (pull_request) Successful in 6s
CI/CD / test-go-pg (pull_request) Successful in 2m43s
CI/CD / test-sqlite (pull_request) Successful in 2m49s
CI/CD / test-runners (pull_request) Failing after 38s
CI/CD / build-and-deploy (pull_request) Has been skipped
The previous fix (container IP resolution) still failed because the
CI runner and compose containers are on separate Docker networks.

- Add docker-compose.ci.yml override with network_mode: host so the
  container shares the runner's network stack directly
- Add --connect-timeout 2 to curl in wait-for-healthy.sh so it fails
  fast instead of hanging indefinitely on unreachable hosts
- Cap health check at 30s (server boots in 5-10s)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 09:09:06 +00:00