RFC: Testing and portability validation strategy across rgb-aura's lifecycle #65
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Splitting this off from issue #62 as committed in §7 of comment #273.
Why this issue exists
The locked v1.1.0 direction (issue #62, comment #289) introduces three things that make a deliberate testing strategy necessary, not optional:
This issue is for agreeing on the strategy, not for executing tests. Each testing tactic that emerges becomes its own sub-issue.
Hardware in play
The asymmetry is deliberate — different motherboard vendors, different ARGB controllers, different LLM vendors (GPT vs Claude). Useful for the portability story precisely because of the differences.
Lifecycle: who tests what, when
v1.1.0 — Jack only. McJuniorstein's hardware deliberately stays out so the end-to-end loop isn't diluted. McJuniorstein still reviews diffs and runs the test suite locally (no hardware-touching tests).
v1.1.X — McJuniorstein enters as tester #2. This is the first portability signal. Requires McJuniorstein to install OpenRGB. Razer BlackWidow X enters schema as
role: ignored— discovered and represented, not driven.v1.2.0 — second-machine criterion gate. A concrete bar (proposed below) that has to be clearable before tagging v1.2.0.
Proposed initial mechanics (for discussion)
These are the load-bearing decisions to make in this thread. Each is a "confirm, edit, or push back" — not a finished plan.
A. Test evidence on PRs touching the schema or pack runtime
Proposal: PRs that change schema, pack loader, or validator require the author to attach (a) the validator output against the example profile, and (b) the diagnose output against an intentionally-broken example. Hardware-touching PRs add (c) a short log of running the affected animation on real hardware.
Rationale: makes "I tested it" reviewable instead of trust-based.
B. Cadence of cross-machine runs in v1.1.X
Proposal: every v1.1.X PR that changes schema, validator, diagnose, or the pack loader gets verified on McJuniorstein's machine before merge. Pure-doc / pure-test PRs don't need it.
Open question: does "verified" mean McJuniorstein runs locally and comments, or does it mean a CI job that runs against a recorded hardware fixture? (Latter is v1.2.0+ work probably.)
C. v1.2.0 second-machine criterion
Proposal: v1.2.0 cannot tag until:
Rationale: "portability" is meaningless without a falsifiable test.
D. Where findings go
Proposal: each cross-machine discrepancy gets a sub-issue against the relevant milestone, never a comment buried in a PR thread. Use a label (
portabilityor similar) so they aggregate.What this issue does NOT cover
Decisions wanted from JackFrostbyte
I agree with the general testing and portability strategy proposed here.
Confirmed decisions:
Clarification:
For v1.1.X, "verified on McJuniorstein's machine" should initially mean a local manual run with a short PR comment containing the command/output evidence. CI with recorded hardware fixtures can be deferred to a later issue after the schema and diagnose surfaces stabilize.
McJuniorstein should install OpenRGB before or during early v1.1.0, but his hardware should not become a required merge gate until v1.1.X. That way setup problems are found early without slowing the first schema/runtime work.