Repository navigation
ci: smoke-test docker-compose.yml on pull requests - #671
Merged
Merged
Conversation
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.
There was a problem hiding this comment.
🟡 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.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

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 withoutLOG_LEVEL, and the API exits without CHES settings.Closes #670
Refs #597
Docker Composejob in the PR workflow builds the frontend, runsdocker compose up --build --wait, then checks the API health endpoint, the frontend page, the frontend's/apiproxy and mongo-express. It always runsdocker compose down -vat the end. No secrets.PR Resultsnow needs the new job.docker-compose.ymlfixes so the stack starts:LOG_LEVELandBACKEND_URL(Caddy failed to parse its config withoutLOG_LEVEL, and/apihad nowhere to proxy to)curlhealthcheck can't run in its distroless image, so compose overrides it with a Node checkdepends_onwaiting for healthy so--waitmeans the stack is really upThanks 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: