jamulussoftware / jamulussoftware/jamulus
Automatic Client/Server Smoke Test in CI
- Dominant language
- C
- Stars
- 1.1k
- Forks
- 248
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 9
Description
**Has this feature been discussed and generally agreed?**
@pljones and @ann0see raised the idea to run automatic client/server smoke tests in CI (#2423). I second this idea.
At least with Ubuntu/Debian this should be very doable.
**Describe the solution you'd like**
- Start a Docker container, install jamulus-headless, start it as server
- Start another Docker container, install jamulus-headless, start it as headless client
- Verify that the client connected properly (#1975 might help)
- Exit.
- Repeat for all supported Ubuntu/Debian releases
It's probably sufficient to run this on all (pre-)releases, but not on every push or PR. It would be nice to have that for all platforms, but let's start with the simple stuff. This would already confirm that packaging works and basic Jamulus functionality is there without crashing right away.
Testing for compatibility (old server + new client, old client + new server) would also be interesting.
**Describe alternatives that have been considered**
Rely on manual testing and see it break as we don't cover all platforms... :)
Contributor guide
Research direction
Start by reading the proposal in #2423 and the connection verification context in #1975, then inspect the repository's existing Docker, packaging, and CI configuration. Define a CI job that starts jamulus-headless server and client containers for supported Ubuntu/Debian releases and verifies the client connection before exiting. Done means the smoke test runs on the chosen release schedule and fails when packaging or basic client/server startup is broken.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- debian, docker, github-actions, ubuntu
- Domain
- build-system, ci-cd, devops, testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100