-
Notifications
You must be signed in to change notification settings - Fork 17
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
Add support for Python 3.12 #947
Add support for Python 3.12 #947
Conversation
c8b5500
to
4a64873
Compare
Most of the changes in this draft need to be pushed in https://github.com/frequenz-floss/frequenz-repo-config-python instead, excepts for dependencies updates. |
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.
LGTM in general. I'm a bit concerned about having a CI that needs to do so much work, but that's a different topic (only made worse by adding more matrices jobs). At some point I think we should probably only make more intensive checks on pushing to the main branch or nightly.
7abc504
to
b08e718
Compare
There is already a ticket for it frequenz-floss/frequenz-repo-config-python#168 |
.github/containers/nox-cross-arch/arm64-ubuntu-20.04-python-3.12.Dockerfile
Outdated
Show resolved
Hide resolved
ff51f2f
to
1932012
Compare
The CI now runs the tests against Python 3.12 as well. The Dockerfile for arm64 was added to the repository to run the tests for python 3.12 in arm64. Signed-off-by: Daniel Zullo <daniel.zullo@frequenz.com>
Newer versions of grpcio, grpcio-tools and numpy are required to run pytest_min tests with Python 3.12. Signed-off-by: Daniel Zullo <daniel.zullo@frequenz.com>
The test installation now includes Python 3.12. Signed-off-by: Daniel Zullo <daniel.zullo@frequenz.com>
The added job runs if all the `test-installation` matrix jobs ran and succeeded. The job is required to have a single job that is used in branch protection rules so that updating the protection rules is not needed each time we add or remove a job from the matrix. Signed-off-by: Daniel Zullo <daniel.zullo@frequenz.com>
The current condition for the `*-all` jobs in the CI were not correct, as it was skipping the job if the matrix job succeeded, which is not the desired behavior. We want to skip the *-all job only if the matrix job was skipped. The results for `*-all` jobs are now set based on the matrix job results. Signed-off-by: Daniel Zullo <daniel.zullo@frequenz.com>
The python version used in the test-installation Dockerfile was hardcoded and we ended up with a couple of similar Dockerfiles for different python versions. Ideally we should keep a single Dockerfile to use different python versions. Signed-off-by: Daniel Zullo <daniel.zullo@frequenz.com>
1932012
to
d8166d8
Compare
@@ -3,11 +3,13 @@ | |||
# This Dockerfile is used to run the tests in arm64, which is not supported by | |||
# GitHub Actions at the moment. | |||
|
|||
ARG PYTHON_VERSION="3.11" |
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.
@llucax I made a mistake here defining this arg in the global scope and not consuming it within the FROM stage. I think I can define it directly within the local scope of the stage
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.
Fixed, but it will need a new approval
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.
I tested the arm64 docker file in my local environment with different python versiona and it works smoothly
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.
Ah, good catch. Will approve.
The python version in the Dockerfile for the arm64 cross-arch tests is now parameterized to pass the python version as an argument so that only one Dockerfile is needed for all python versions. Signed-off-by: Daniel Zullo <daniel.zullo@frequenz.com>
d8166d8
to
942dcd4
Compare
Auto-merge is enabled. So please do not approve it if changes are required |
The CI now runs the tests against Python 3.12 as well.
The Dockerfile for arm64 was added to the repository to run the tests for python 3.12 in arm64.