Skip to content

dev-doc-nightly fails during uv add because bloqade-circuit[stim] and bloqade-lanes main are currently incompatible #343

Description

@jasonhan3

Summary

The nightly documentation workflow is failing before the docs build starts. The failure happens in the add local repos as dependencies step of dev-doc-nightly.yml, when uv tries to resolve the locally checked out main branches of:

  • bloqade-circuit
  • bloqade-lanes
  • bloqade-analog

Failing Step

- name: add local repos as dependencies
  run: uv add submodules/bloqade-circuit submodules/bloqade-lanes submodules/bloqade-analog

Error

× No solution found when resolving dependencies for split
│ (python_full_version >= '3.13' and sys_platform == 'darwin'):
╰─▶ Because only bloqade-circuit[stim]==0.15.0.dev0 is available and
    bloqade-lanes==0.9.0.dev0 depends on bloqade-circuit>=0.14.0,<0.15.dev0,
    we can conclude that bloqade-lanes==0.9.0.dev0 and all versions of
    bloqade-circuit[stim] are incompatible.
    And because only bloqade-lanes==0.9.0.dev0 is available, we can
    conclude that all versions of bloqade-lanes and all versions of
    bloqade-circuit[stim] are incompatible.
    And because your project depends on bloqade-circuit[stim] and
    bloqade-lanes, we can conclude that your project's requirements are
    unsatisfiable.

Expected Behavior

The nightly docs job should be able to install the latest checked-out dependency repos and proceed to mkdocs build.

Actual Behavior

Dependency resolution fails during uv add, so the workflow exits before documentation is built.

Likely Cause

This looks like a cross-repo version skew on main:

  • bloqade-circuit[stim] resolves to 0.15.0.dev0
  • bloqade-lanes resolves to 0.9.0.dev0
  • bloqade-lanes==0.9.0.dev0 still requires bloqade-circuit>=0.14.0,<0.15.dev0

So the nightly job is catching a temporary incompatibility between the current main branches, rather than a problem with the pinned release dependencies in bloqade itself.

For reference, bloqade currently pins:

  • bloqade-circuit[cirq,qasm2,qbraid,vis,stim]~=0.14.0
  • bloqade-analog~=0.16.3
  • bloqade-lanes~=0.7.1

Reproduction

The failure is reproducible in the nightly workflow by:

  1. Checking out this repo
  2. Running uv sync --group doc
  3. Cloning the latest main branches of bloqade-circuit, bloqade-lanes, and bloqade-analog into submodules/
  4. Running:
uv add submodules/bloqade-circuit submodules/bloqade-lanes submodules/bloqade-analog

Possible Fixes

  • Update bloqade-lanes main to accept bloqade-circuit>=0.15.dev0 if that compatibility is intended
  • Pin the nightly workflow to compatible commits or branches instead of raw main
  • Remove the stim extra from the docs-nightly install if docs do not actually require it
  • Replace uv add with a non-locking or editable approach that does not try to re-resolve the whole dependency graph in the nightly job

Notes

The resolver mentions the split (python_full_version >= '3.13' and sys_platform == 'darwin'), but the underlying incompatibility appears to be the package version constraint mismatch between bloqade-circuit[stim] and bloqade-lanes.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions