Libquil sbcl librarian runtime - #594
Draft
BatmanAoD wants to merge 7 commits into
Draft
Conversation
Formatting only, from running cargo fmt while working on the libquil build; no behaviour change. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… runtime libquil-sys 0.5 links against the sbcl-librarian runtime that libquil is built on, so it needs a libquil that installs that runtime and its headers alongside libquil.h. Releases up to and including 0.3.2 ship neither, and CI was installing 0.3.0 with the installer from rigetti/libquil's default branch, which does not install the runtime either. That build exists so far only as a prerelease from a fork, so pin both the version and the repository it comes from, and take the installer from the tag being installed rather than from a branch. TODO(github.com/rigetti/libquil#57) tracks removing the pin. scripts/install-libquil now installs only the prerequisites -- libquil's own BLAS and LAPACK, plus libclang for bindgen -- and hands off to libquil's installer instead of duplicating what it does. It covers macOS via Homebrew as well as apt-based Linux, and stops with an explanation elsewhere. The libffi.so.7 compat symlink is gone: the current build does not link libffi at all, let alone that soname. BLAS and LAPACK come from the -dev packages deliberately. magicl loads them at runtime under their unversioned names, so Debian's libblas3, which provides only libblas.so.3, is not enough. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Cutting a prerelease from a branch tagged the wrong code. knope creates the GitHub
release against the default branch on the version this repository pins, so the version
bump landed on the branch while the tag landed on main, and the publish job -- which
checks out whatever that tag resolves to -- would then try to republish main's
already-released version.
Adopt what libquil-sys arrived at (545d05d):
- knope 0.23, which tags the ref being released;
- check out ${{ github.ref }} in prepare-release, so a dispatched release acts on the
branch it was dispatched from;
- check out the release tag in release-library, so it publishes exactly what was tagged.
Verified against this branch with knope 0.23 locally: it now tags lib/v0.26.4-rc.0 at the
branch head rather than at main.
Add a changeset for the libquil-sys 0.5 dependency, which none of the branch's commit
types would have released on their own.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
release-python.yml checks out without naming a ref, so every job builds the release event's target commitish rather than the tagged commit. A release cut from a branch would build main's code and publish it under the branch's version, the same way release-library would have republished main's version before it was fixed. Point all seven checkouts at the release tag, falling back to the dispatched ref for a manual run. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The prerelease carrying the sbcl-librarian runtime is now published from rigetti/libquil itself (v0.4.0-rc.0, built by its own CI), so the fork it was coming from is going away. Drop LIBQUIL_RELEASE_REPO and fetch the installer straight from the tag. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.