Skip to content

Add GitHub Actions for compose validation and opt-in smoke testing - #2

Merged
freemansoft merged 2 commits into
mainfrom
add-compose-ci-workflows
Jul 26, 2026
Merged

Add GitHub Actions for compose validation and opt-in smoke testing#2
freemansoft merged 2 commits into
mainfrom
add-compose-ci-workflows

Conversation

@freemansoft

Copy link
Copy Markdown
Owner

Summary

  • compose-validate.yml: fast pass on push/PR — discovers every example's docker-compose.yml and runs docker compose config --quiet to confirm it parses and resolves (services, networks, volumes, env interpolation) without pulling images or starting any containers. Seeds .env from .env.template where present (currently just elasticsearch, whose mem_limit vars otherwise resolve to an invalid empty size).
  • compose-smoke-test.yml: heavier check — actually runs docker compose up -d --wait per example to confirm every service reaches running/healthy state, then docker compose down -v to clean up. Trigger is workflow_dispatch only, so it does not run on push/PR; someone has to kick it off manually.

Test plan

  • Validated both workflow files are well-formed YAML
  • Ran actionlint against both files — zero issues
  • Locally ran docker compose config --quiet against all 17 examples (with elasticsearch/.env seeded from its template) — all pass
  • Confirm compose-validate.yml goes green on this PR's checks
  • Manually trigger compose-smoke-test.yml once merged to confirm it behaves as expected (may need to check runner sizing for the heavier examples like datastax/kafka-confluent)

🤖 Generated with Claude Code

https://claude.ai/code/session_01JVcLpHjumfCn4GRzbeSB9C

Fast-pass workflow runs docker compose config on every example on
push/PR to catch construction errors without pulling images or
starting containers. A second, heavier workflow actually brings each
stack up and tears it down, but is workflow_dispatch-only so it never
runs automatically.
actions/checkout@v4 targets Node 20, which GitHub is deprecating on
hosted runners and now runs under a forced Node 24 shim with a
warning. v5 targets Node 24 natively.
@freemansoft
freemansoft merged commit c9e2a3d into main Jul 26, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant