jamulussoftware / jamulussoftware/jamulus

Automatic Client/Server Smoke Test in CI

Open
#2,428 3 comments 2 reactions 0 assignees View on GitHub
feature request tooling
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.