Add CI clean-startup smoke test (build + docker-compose up) (SZ-85)
rk@tigase.net opened 3 days ago

Problem

Recent Rel 1.8 issues (Apple Silicon build failure for sztabina, Flyway migration failure at backend startup) were not caught by CI because there is no automated verification that a fresh clone of the repository can be built and started end-to-end using the default Docker Compose setup.

Both issues would have been detected by a simple system-level startup check.

Proposal

Add a minimal CI “clean startup” smoke test that verifies the most basic contract of the project:

A fresh clone can build all components and start using the default docker-compose configuration.

This test should be intentionally simple and fast, and should not attempt to validate application behavior beyond successful startup.

Scope (minimal and intentional)

The CI step should:

  1. Build all components (backend, UI, sztabina)
  2. Run docker compose up using the default compose file
  3. Wait for a basic “system is up” signal (e.g. backend startup log line or open port)
  4. Exit successfully if startup completes
  5. Tear down containers

No functional tests, no data seeding, no API assertions.

Non-goals

  • No full integration test suite
  • No long-running containers
  • No environment-specific configuration
  • No performance or correctness validation

This is a smoke test, not a test framework.

Benefits

  • Catches build-context, architecture, and migration issues early
  • Verifies cross-component compatibility continuously
  • Improves release confidence with minimal CI overhead
  • Encodes an implicit project assumption (“it should start”) as an explicit check

Notes

This test should ideally run on:

  • PRs targeting wolnosc
  • Release tags

to maximize signal while minimizing CI noise.

  • rk@tigase.net commented 3 days ago

    Time Estimate

    2–3 hours

    • ~1–1.5h: write the startup script
    • ~0.5–1h: integrate into CI pipeline
    • ~0.5h: verify stability and tune timeouts
  • rk@tigase.net changed state to 'In Progress' 3 days ago
    Previous Value Current Value
    Open
    In Progress
issue 1 of 1
Type
Improvement
Priority
Normal
Assignee
Version
1.9
Sprints
n/a
Customer
n/a
Issue Votes (0)
Watchers (3)
Reference
SZ-85
Please wait...
Page is in error, reload to recover