Use pytest-split to add some concurrency to integration test#1360
Merged
Conversation
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
Contributor
Author
|
Example workflow with this PR |
richrines1
reviewed
Mar 16, 2026
| - name: Install dependencies | ||
| run: | | ||
| python -m pip install --upgrade pip | ||
| python -m pip install ./checks-superstaq ./general-superstaq[dev] ./qiskit-superstaq[dev] ./cirq-superstaq[dev] |
Contributor
There was a problem hiding this comment.
getting outside the scope of this pr, but it'd probably be nice to also split up the css and qss integration tests (with each installing just the relevant packages)
Contributor
Author
There was a problem hiding this comment.
Added (see this workflow for an example)
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
fe43517 to
c2d62d6
Compare
Signed-off-by: Bharath <bharath.thotakura@infleqtion.com>
richrines1
approved these changes
Mar 18, 2026
Co-authored-by: richrines1 <85512171+richrines1@users.noreply.github.com>
Co-authored-by: richrines1 <85512171+richrines1@users.noreply.github.com>
bharat-thotakura
added a commit
that referenced
this pull request
Apr 8, 2026
#1360 added usage of `pytest-split` to the CI's notebook checks in hopes of mitigating against #1129. However, this has been falsified by a [notebook check flake](https://github.com/Infleqtion/client-superstaq/actions/runs/24104137963/job/70322973623) occurring regardless. As such, the PR reverts some of the changes introduced in #1360 to reduce redundant CI minute usage for apparent minimal benefit (at this point at least) Signed-off-by: Bharath <bharath.thotakura@infleqtion.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.
Presently, the daily integration test workflow uses only 2 workers from
pytest-xdistand generally can take a while to finish, waiting on some slower tests relative to others. Anticipating #1358, which will slow down the workflow even more, this PR addspytest-splitto break up the (current) total of 44 unit tests from thecssandqssintegration tests combined into 4 concurrent workflows, each using 2 workers. (Note: the tests are split up evenly across the 4 workflows (called 'groups'), butpytest-splitcan unevenly group time-consuming tests if givenpytesttiming info)Additionally, on a more speculative & hopeful note, this PR also applies
pytest-spliton the three notebook checks in the regular CI to continue to mitigate against #1129 (with the idea being that each concurrent workflow should now only assign 1 notebook per worker (of course, subject to change if new notebooks are added)). In initial testing, this did not seem to offer much in time reduction due to the small number of notebooks being tested to begin with (& the worker overhead perhaps), but this approach might still be worth experimenting with.Lastly, to confer any potential speed benefits, this PR also updates all relevant CI jobs to use Python 3.14 from the previous Python 3.13