-
Notifications
You must be signed in to change notification settings - Fork 41
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
Use matrix to add Bookworm jobs to CI #1555
Conversation
Most of the bookworm failures are because we are currently pinned to an old version of pyqt5-sip that did not upload Python 3.10 wheels: https://pypi.org/project/PyQt5-sip/12.8.1/#files Either we install a build toolchain in each job ( |
Thank you for troubleshooting @legoktm! My personal inclination would be to upgrade dependencies (in this case That being said, I think @creviera may have thoughts on this and |
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.
The CI config is looking great! Thank you for also DRYing the nightlies definition significantly.
I take note that blocks can be named inline where they're used for the first time! 💡
In the package upgrade, I'm thinking of performing the necessary upgrades in a separate PR once we've got them identified, so that this PR doesn't get cluttered by package changes. I'm happy to look into that from the pyqt5-sip
pointer next week. : )
Ack, rebasing on top of that now... |
I started looking into which dependencies need upgrade for Bookworm jobs to pass.
Edited to add:
Back to |
Re: alembic, we probably need this fix: https://alembic.sqlalchemy.org/en/latest/changelog.html#change-5681bfa8b70eb750d3060b4541fa1662 |
The testing requirements in Bookworm has to do with differing Python versions. I've added With that in mind, and looking at the CI failure: maybe we should ignore the comments when comparing requirements files, what do you think @legoktm ? |
Re-running the CI pipeline after freedomofpress/securedrop-builder#379 has been merged should make it green 🍏 I think our automated testing coverage of the database aspects of the code should be enough to upgrade alembic with confidence. With that being said, we should still perform a diff review on the package shouldn't we @creviera @rocodes ? |
@legoktm Let's clean up this branch before marking it as ready for review:
|
I'll take on the opportunity of updating the PR to do the cleaning. |
bc17150
to
4d4bb5d
Compare
2c662ad
to
02e5ef6
Compare
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.
A couple of question for you @creviera (and maybe @rocodes too!):
- We're updating PyQt5-sip from 12.8.1 to 12.9.0 - which is the first to support Python 3.10 but is not the system version under Debian Bullseye. Any thoughts?
- Should we perform a diff review for alembic that we upgraded too? (From 1.0.2 to 1.1.0, which doesn't worry me functionally, I think our automated test suite covers that well.)
Subsidiary question: what stops us from shipping the Qt dependencies like any other? Why do we use system packages? (I know you've told me but I forgot! 😬) Related to #1562
I had a chat with @creviera. We use system PyQt because:
With that in mind @legoktm, I think we've got a few options:
Any of these options would allow us to ship this PR with a green pipeline. 🍏 We also should have performed a diff review of alembic 1.1.0 before adding the wheel! (I'm following up on that in the relevant repo.) |
All makes sense. In your list 3 is my preferred option as well, but I'd also be okay with 1 in the short-term while we work on 3. |
I'll remove the commit that upgrades PyQt5-sip so that @creviera can review this PR. And we can manage the Bookworm failures in a separate PR 🙂 |
Different versions of Python generate different comments in the requirement files, either because some indirect dependencies may change or because the version of Python itself is recorded. Those changes have no effect on the reproduction of the environment and can be safely ignored.
3730d29
to
82296bc
Compare
(removed) To be clear: the CI pipeline will be read, but all the required jobs (a.k.a the "Bullseye"" jobs) will be green. 🍏 |
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.
Accepting the failing tests temporarily as you work on a separate bookworm requirements PR works for me too. I see you did a diff review for alembic (freedomofpress/securedrop-builder#379 (comment)) ✔️, code changes look good to me ✔️, and the config file looks much cleaner now 🎉. Nice teamwork @gonzalo-bulnes and @legoktm :) 🚀
Description
🔮 Reviewers:
Taking a look at the CI pipelines for each commit should give you context on the next commit.🙂Add bookworm jobs to CI. These jobs will not be marked as required, as it is expected that they will sometimes fail.
Closes #1545
Test plan
It is OK to update PyQt5-sip from 12.8.1 to 12.9.0 (Do we need to match the system version?)