-
Notifications
You must be signed in to change notification settings - Fork 685
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
Run basic lint CI against Ubuntu noble / Python 3.12 #7242
Conversation
I'm not setup to test "Setting up a staging environment using vagrant/libvirt works" so help would be appreciated with that. |
Oh also I haven't signed the commits yet, waiting to rebase after the uv PR is merged. |
24c8552
to
7ecc53a
Compare
libvirt-based
I can likely take a look in the morning. |
(Also - do we want a |
Thanks, I'll start digging through the changelog, etc. The staging CI job is also failing so I can use that for testing and will come back to you.
Yep, will get to that after fixing package building. |
With e7c16b8 I'm seeing the same errors in the CI staging job that you pasted...progress! |
@zenmonkeykstop if you want to give this another pass, the molecule stuff now works in the staging CI job (except for the failure fixed in #7246). |
Just as a baseline to see how far away we are. Some changes: * switch to enchant-2, which is already in focal Refs #7210.
The vendored version of six in pip 21.3 is incompatible with Python 3.12.
cffi 1.14.5 doesn't have prebuilt wheels for Python 3.12. This upgrade was already diff-reviewed: <https://github.com/freedomofpress/securedrop-builder/wiki/cffi-1.14.5-to-1.16.0>.
* molecule-vagrant is outdated and has a constraint blocking pyyaml 6. Note that molecule-vagrant is actually archived in favor of molecule-plugins[vagrant], but leaving that for another time, since it needs molecule 6. * pylint's dependency tree has issues (astroid, wrapt), so upgrade it entirely, which will require some fixes in a follow-up. * pyyaml 6 is used elsewhere and provide prebuild 3.12 wheels.
All of the lints being un-disabled in pylintrc were removed from pylint, most of them only applied to Python 2 code, which is why they were suppressed. Other fixes: * Fix argument name in pretty_bad_protocol (most-likely unused code) * Exempt specialstrings.py from linting, just like ruff. * Raise unreachable exception in pageslayout tests to make pylint happy
* Don't use removed filters; I mostly copied what ansible-community/molecule-openstack#19 does. * become_user runs into permissions issues, so just use sudo * Options passed to ansible are now relative to the root instead of the molecule folder, so update paths accordingly.
I've rebased on top of #7246 now that it's merged. |
Staging env setup is in progress locally, just waiting for it to complete but jusque ici etc |
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.
- visual review good
-
make staging
passes in a libvirt system! - lint tasks still pending
LGTM! Provisionally approved pending changes to lint job and it passing.
Status
Ready for review
Description of Changes
See commit messages for details.
Refs #7210.
Testing
How should the reviewer test this PR?
lint
tolint (focal)
(intentionally not noble, yet)Deployment
Any special considerations for deployment? n/a
Checklist
make lint
) and tests (make test
) pass in the development containermake -C admin test
) pass in the admin development container