Skip to content

Replace guppy dev-dependency with pre-compiled examples #1210

@aborgna-q

Description

@aborgna-q

qis-compiler contains a guppylang dev-dependency, used to define test examples.
To avoid open dependency cycles, the guppy version is pinned to a commit there.

While this works, it requires the CI to install LLVM and whatnot to be able to compile guppy and related dependencies from source when interacting with qis-compiler.
I tried to move that dependency to the workspace root in #1200, and was stopped by having to infect every CI with the new requirements.

We should instead remove the guppy dev dependency altogether and include pre-compiled example hugrs in the same way we defined the ones in test_files/guppy_optimisation. In particular,

  • Guppy example files should be self-contained uv scripts defining the guppy dependency in their header. These do not need to be updated with new guppy versions unless required.
  • Add a just directive to re-compile the hugrs from the scripts, and ensure it's up-to-date in CI.
  • Tests should include the .hugr envelopes directly, without requiring the guppy library to run.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions