ci: add emulator tests against dockerized Subsonic servers - #1094
Open
xsteadfastx wants to merge 1 commit into
Open
xsteadfastx wants to merge 1 commit into
xsteadfastx wants to merge 1 commit into
Conversation
Boot a real Android emulator (API 34, KVM) and run an instrumented smoke test against a dockerized Subsonic server. The test seeds a small library with ffmpeg sine-wave MP3s, then asserts the app installs, launches, connects to the server, and renders a seeded song on the home screen. Runs across a matrix of servers (navidrome, gonic) and flavors (tempus, degoogled), with the server password passed to the test via an instrumentation argument.
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
What this does
Adds a CI workflow that actually boots an Android emulator and runs a real instrumented test against a real Subsonic server. No more "it works on my machine" — the app now proves it can install, launch, connect to a server, and render the home screen, on every push.
How it works
The workflow spins up a dockerized Subsonic server, seeds a tiny test library (two sine-wave MP3s generated with ffmpeg), boots an emulator with KVM, and runs a smoke test that:
Coverage
It runs the same test across a small matrix:
So we get both server implementations and both product flavors covered for free.
Why this matters
The existing unit tests are great, but they never touch a real server or a real device. This catches the kind of thing that only shows up when the app talks to an actual Subsonic API — wrong endpoints, auth issues, library parsing, that sort of thing. And since it runs on every push, regressions get caught early instead of at release time.
Notes
Testing
All four matrix jobs pass on the
ci/emulator-testsbranch.