-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pin symengine in backwards compatibility tests #13885
Conversation
One or more of the following people are relevant to this code:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was definitely an oversight when we added the fixes for the symengine version dependency in 1.2.4. We fixed compatibility between symengine 0.13.0 and 0.11.0 and added the version cap to prevent this on new releases, and tested the range of supported symengine versions to handle the interop question. But forgot about future releases when installing historical qiskit releases. This should correct that oversight. I think your comment about it being related to the cache makes sense. I'm not sure why we're not hitting this on main though, because there are open PRs that should be invalidating the cache, but that doesn't change this PR as it is clearly correct.
@Mergifyio backport stable/1.3 main |
✅ Backports have been created
|
For future posterity: the reason the existing PRs that invalidated the cache on |
* Add symengine constraint in qpy backwards compat tests * Add comments * Only pin upper limit * Update comment (cherry picked from commit 8c06fd2)
* Add symengine constraint in qpy backwards compat tests * Add comments * Only pin upper limit * Update comment (cherry picked from commit 8c06fd2)
Summary
The recent symengine 1.14 release breaks the qpy backwards compatibility tests in the
stable/1.4
branch with aqiskit.qpy.exceptions.QpyError: 'Incompatible symengine version 0.14 used to generate the QPY payload'
error.The symengine version was already pinned to <1.14 in the following locations:
requirements.txt
test/qpy_compat/run_tests.sh
The symengine version is not directly modified in
test/qpy_compat/process_version.sh
, but seems to pull the version constraints fromtest/qpy_compat/qpy_test_constraints.txt
, which didn't include symengine.For this reason, this PR pins symengine to <1.14 in
test/qpy_compat/qpy_test_constraints.txt
.Details and comments
The
main
branch doesn't seem to share this issue even though the inspected files look the same. There might be an additional constraint inmain
that I am missing, but for the moment decided to open this PR directly against 1.4. [Edit: I think that the tests in main are used the cached qpy files and not generating them from scratch. The bugfix should still probably be ported to 2.0 and 1.3]