Skip to content

ci: smoke-test docker-compose.yml on pull requests - #671

Merged
DerekRoberts merged 3 commits into
mainfrom
ci/compose-smoke-test
Oct 11, 2026
Merged

DerekRoberts merged 3 commits into
mainfrom
ci/compose-smoke-test

Conversation

@DerekRoberts

@DerekRoberts DerekRoberts commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Nothing tests docker-compose.yml, so Renovate's image tag updates (e.g. #653, #656) merge untested, and the stack doesn't start as it is: Caddy rejects the frontend's config without LOG_LEVEL, and the API exits without CHES settings.

Closes #670
Refs #597

  • New Docker Compose job in the PR workflow builds the frontend, runs docker compose up --build --wait, then checks the API health endpoint, the frontend page, the frontend's /api proxy and mongo-express. It always runs docker compose down -v at the end. No secrets.
  • PR Results now needs the new job.
  • docker-compose.yml fixes so the stack starts:
    • frontend: set LOG_LEVEL and BACKEND_URL (Caddy failed to parse its config without LOG_LEVEL, and /api had nowhere to proxy to)
    • API: placeholder CHES settings (overridable from the shell), since it exits at startup without them
    • API: the image's curl healthcheck can't run in its distroless image, so compose overrides it with a Node check
    • healthchecks on the database, API and frontend, with depends_on waiting for healthy so --wait means the stack is really up

Thanks for the PR!

Deployments, as required, will be available below:

Please create PRs in draft mode. Mark as ready to enable:

After merge, new images are deployed in:

Bring the compose stack up and check the API health endpoint, the
frontend and its /api proxy, and mongo-express. Fix the stack so it
starts: the frontend was missing LOG_LEVEL and BACKEND_URL, and the
API image's curl healthcheck can't run in its distroless image.
Copilot AI balanced review requested due to automatic review settings October 10, 2026 06:57
@DerekRoberts DerekRoberts self-assigned this Oct 10, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The API exits because required dummy CHES configuration is missing, causing the new Compose job to fail.

1 open finding
What changed in this PR

Adds pull-request smoke testing for the local Docker Compose stack.

Changes:

  • Adds service health checks and startup dependencies.
  • Adds frontend proxy configuration.
  • Adds a merge-gated Compose smoke-test job.
File Description
docker-compose.yml Configures health checks and service dependencies.
.github/​workflows/​pr-open.yml Starts, tests, and tears down the Compose stack in CI.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docker-compose.yml
The API exits at startup when CHES settings are missing, so the compose
stack never came up. Default them to placeholders that can be overridden
from the shell.
@DerekRoberts
DerekRoberts merged commit ff6d162 into main Oct 11, 2026
18 checks passed
@DerekRoberts
DerekRoberts deleted the ci/compose-smoke-test branch October 11, 2026 03:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

test docker-compose.yml in workflows

2 participants