Skip to content

tooling: allow explicit parity artifact reuse #7062

Description

@TheHypnoo

The problem

run_parity_tests.sh always runs the release compiler/runtime build and overwrites PERRY_BIN, so fixture-only parity reruns cannot explicitly reuse a compiler and matching runtime archives that were already built and verified.

Proposed solution

Add an opt-in PERRY_SKIP_BUILD=1 mode that:

  • preserves an executable caller-provided PERRY_BIN;
  • uses PERRY_RUNTIME_DIR, or the compiler directory, for one platform-native runtime/stdlib archive pair;
  • skips only the runner-owned Cargo builds;
  • leaves the default build and all parity semantics unchanged.

Reject invalid configuration or incomplete archive pairs before running fixtures. Document that callers must rebuild whenever compiler/runtime/stdlib/extension inputs differ.

Alternatives considered

Keeping one CARGO_TARGET_DIR lets Cargo reuse warm outputs, but still invokes Cargo and cannot explicitly bind the runner to an externally verified compiler/archive set.

Scope

  • Small — parity runner, focused shell regression test, contributor documentation

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew capability or improvementstatus:approvedApproved for implementationtoolingDeveloper tooling, CI, tests, or release infrastructure

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions