Skip to content

ci: provide reusable Windows Rust integration-test lane for desktop persistence #1901

Description

@seonghobae

Consumer finding

BandScope #970/#962 needs Windows-native Project Persistence integration evidence (cargo test --manifest-path apps/desktop/src-tauri/Cargo.toml --no-default-features --tests) on every persistence contract/input change. The repository currently owns .github/workflows/project-persistence-windows.yml as a standalone workflow because the central workflow inventory does not expose an obvious reusable Windows Rust integration-test primitive.

CWL policy requires model/quality CI infrastructure to converge on .github reusable workflows with thin exact-SHA callers rather than repository-local workflow duplication. This is therefore a canonical .github owner gap, not a reason to copy more runner/bootstrap logic into BandScope.

Requested reusable contract

Provide a reusable workflow suitable for Rust desktop/native integration suites with:

  • workflow_call inputs for manifest path, toolchain, cargo args/test selector, and an optional compile-only frontend fixture command/path needed by Tauri;
  • Windows hosted runner selection controlled by the canonical owner, not arbitrary consumer YAML;
  • checkout/action refs pinned by the canonical owner and least-privilege contents: read;
  • no provider/model logic and no paid-model fallback;
  • consumer caller reducible to an exact-SHA uses: ContextualWisdomLab/.github/.github/workflows/<workflow>@<immutable-sha> plus bounded inputs;
  • timeout/cancellation semantics compatible with long native compilation and no elapsed-time-only false termination;
  • evidence that a consumer path-filter change cannot silently suppress the native suite.

BandScope acceptance evidence

Current consumer command is intentionally narrow and product-owned:

cargo +1.97.1 test --manifest-path apps/desktop/src-tauri/Cargo.toml --no-default-features --tests

BandScope RED becb11c0a75059fdf5889b8181c962a58de468e8 proved the Windows lane previously failed to trigger when core DTO/fixture or Tauri manifest/entry inputs changed; consumer fix 5b397ce9cc8bf5aa8bb1cb61a826a2f0091587b9 expands those trigger paths without changing the test command.

After a released/immutable central reusable workflow exists, BandScope should replace the standalone implementation with a thin exact-SHA caller and keep only BandScope-specific path filters/inputs. Do not weaken current protected gates while migrating.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions