• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Qiskit / qiskit / 22296973218
88%

Build:
DEFAULT BRANCH: main
Ran 23 Feb 2026 08:11AM UTC
Jobs 1
Files 898
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Feb 2026 07:13AM UTC coverage: 87.862% (-0.1%) from 87.973%
22296973218

push

github

web-flow
Move `cbindgen` logic into separate crate (#15679)

* Move `cbindgen` logic into separate crate

We originally used `cbindgen` as a stand-alone tool to generate the
header files, which was more pleasant from a build-system perspective.
We had to move it into Rust code calling the library once our needs
became a little more complex (although there were sitll potentially ways
we could have done it still with the static configuration), and we
expect these needs to grow further as we begin generating other language
bindings.

However, having the logic in the build script of `qiskit-cext` (as
suggested by `cbindgen` itself) is undesirable because it makes
extracting the header files tricky, and makes it hard to trigger _only_
the header-file build.  The header files are not _truly_ a build
dependency of the C API library object; they're a separate component
that is needed for downstream users to access them.

This brings us back to having the best of both worlds: we have a
standalone binary we can call that generates the header files, _and_ it
uses `cbindgen` as a library internally.

The configuration used here _could_ be described in a static
`cbindgen.toml` file, with a manual list of include files.  I moved it
into Rust code originally thinking that some parts of the generation
process would need to be implicitly configured within the library, and
wanting all the configuration to be in the same place, rather than some
of it being overridden.  We do use _some_ dynamic generation as of
this commit, but it's very light and perhaps overkill.

* Document arguments to `qiskit-bindgen-c`

* Only propagate files that look like includes

* Correct use of relative paths

0 of 131 new or added lines in 2 files covered. (0.0%)

14 existing lines in 2 files now uncovered.

100248 of 114097 relevant lines covered (87.86%)

1152687.17 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
6
0.0
crates/bindgen-c/src/main.rs
125
0.0
crates/bindgen/src/lib.rs

Uncovered Existing Lines

Lines Coverage ∆ File
2
92.54
0.51% crates/qasm2/src/lex.rs
12
97.15
-0.95% crates/qasm2/src/parse.rs
Jobs
ID Job ID Ran Files Coverage
1 22296973218.1 23 Feb 2026 08:11AM UTC 898
87.86
GitHub Action Run
Source Files on build 22296973218
  • Tree
  • List 898
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #22296973218
  • 4f86ab7c on github
  • Prev Build on gh-readonly-queue/main/pr-15695-04d434b6812bff30e72e988e1bc8a80a4e5d19a8 (#22285846421)
  • Next Build on main (#22301863962)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc