Skip to content

CI should validate Remix against its declared Mix runtime #91

Description

@leoafarias

Summary

Remix declares mix: ^2.2.0-beta.1 to consumers, but the workspace test lock resolves an overridden Mix Git revision identified as 2.1.0. As a result, melos ci does not test the runtime dependency combination a standalone consumer receives.

Found while validating #80 at b16636b017f3c8832d8f27f316cc24c0ad92ce8a and the generated-wrapper work in stacked PR #84.

Evidence

The public package declares:

packages/remix/pubspec.yaml

mix: ^2.2.0-beta.1
mix_annotations: ^2.2.0-beta.1

The demo workspace adds a global dependency override:

packages/demo/pubspec.yaml

mix:
  git:
    ref: 07dafe904e56a9b60a172f4ef1863cf45564603a
    path: packages/mix

The shared lock consequently records Mix as direct overridden, Git-sourced, version 2.1.0. A standalone consumer resolves hosted Mix 2.2.0-beta.1.

The full clean Remix gate passes 2,082 tests under the override. A standalone Orbit consumer passes its focused Fortal suite under hosted beta.1, but that external evidence cannot replace a repository-owned compatibility gate.

One concrete source difference already exists between these revisions: the Git override still contains WidgetStateStyleOverride handling that hosted beta.1 removed.

Expected

Remix CI validates the same runtime Mix release range it declares to consumers, while any demo-only compatibility override remains isolated and explicit.

Suggested direction

Choose one:

  1. remove or align the workspace override with the declared release;
  2. isolate the demo from the validation workspace;
  3. add a standalone consumer fixture/job with no workspace overrides that depends on packages/remix and runs public API, generated-wrapper, Fortal widget, and parity smoke tests.

The third option can coexist with a justified Widgetbook/demo override.

Acceptance criteria

  • CI prints and asserts the Mix source/version used for consumer validation.
  • At least one gate resolves hosted mix ^2.2.0-beta.1 without a workspace override.
  • Generated-wrapper and representative state/animation tests run in that consumer resolution.
  • Demo-only overrides cannot silently alter the Remix package test lock.
  • The reason and removal condition for any remaining Git override are documented.

Scope

This is a test-fidelity issue, not a request to remove a temporary demo workaround without replacement.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions