Skip to content
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

Bump minimum python version to 3.10 #2381

Merged
merged 2 commits into from
Feb 19, 2024

Conversation

r-c-n
Copy link
Contributor

@r-c-n r-c-n commented Feb 15, 2024

No description provided.

Copy link
Collaborator

@JenySadadia JenySadadia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@pawiecz
Copy link
Contributor

pawiecz commented Feb 15, 2024

LGTM too

I had a slight concern about having 3.9 in the execution environment for prod/staging/ChromeOS update scripts but it looks like it should be fine for now:

  • (prod) 16 calls to kci tools: 15 to kci docker, one to kci_test
  • (stage) 16 calls to kci docker
  • (chromeos) 7 calls to kci docker

@pawiecz
Copy link
Contributor

pawiecz commented Feb 15, 2024

Turns out I did not verify it thoroughly enough: those kci docker commands make attempts to install KernelCI Python package using Py 3.9.2, e.g.

  1. ./kci docker $args k8s kernelci
  2. uses k8s recipe which is based off debian.jinja2
  3. which still uses bullseye as a base image

It's far from perfect solution but could we keep 3.10 requirement in the GitHub workflows and relax pyproject.toml requirements to also allow 3.9?

@r-c-n
Copy link
Contributor Author

r-c-n commented Feb 15, 2024

Well most of those deployment details completely fly over my head, to be honest. So I trust your decision. The only reason I did this PR is to unblock this one, whose Gitlab CI tests are failing until this one is merged, supposedly. So as long as I can get that to work, anything you decide is fine by me.

@JenySadadia
Copy link
Collaborator

Turns out I did not verify it thoroughly enough: those kci docker commands make attempts to install KernelCI Python package using Py 3.9.2, e.g.

  1. ./kci docker $args k8s kernelci
  2. uses k8s recipe which is based off debian.jinja2
  3. which still uses bullseye as a base image

It's far from perfect solution but could we keep 3.10 requirement in the GitHub workflows and relax pyproject.toml requirements to also allow 3.9?

@pawiecz Thank you for your findings.
This means we can't do much about this but use 3.9 until the bullseye gets upgraded with a newer python version.
Is that true?
I am wondering what if we install a different python version in debian.jinja2 template? Or that would break the debian:bullseye image?

@nuclearcat nuclearcat added the staging-skip Don't test automatically on staging.kernelci.org label Feb 16, 2024
@nuclearcat
Copy link
Member

I will add skip-staging label as at moment it is breaking staging

@pawiecz
Copy link
Contributor

pawiecz commented Feb 16, 2024

@JenySadadia For a long term solution I believe a way to go would be updating debian.jinja2 base image to current stable (bookworm). This, however, would involve at least:

  1. List all images built with kci docker based on debian.jinja2
  2. List key acceptance criteria for those ^ to make sure that images rebuilt on a new base kept all required functionalities
  3. Run tests ^ on rebuilt images

But we can do that after M1 - for now let's go with relaxed package requirements and strict GH workflow.

pyproject.toml Outdated Show resolved Hide resolved
pyproject.toml Show resolved Hide resolved
Certain code features require python >= 3.10. This year is also when
python 3.8 reaches EOL.

Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
Certain code features require python >= 3.10. This year is also when
python 3.8 reaches EOL.

Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
@pawiecz
Copy link
Contributor

pawiecz commented Feb 16, 2024

LGTM, I'm taking staging-skip label off; I'd merge it but I lack permissions to do so

@pawiecz pawiecz removed the staging-skip Don't test automatically on staging.kernelci.org label Feb 16, 2024
@JenySadadia
Copy link
Collaborator

I'll merge it. Thanks.

@JenySadadia JenySadadia added this pull request to the merge queue Feb 19, 2024
Merged via the queue into kernelci:main with commit c3c393f Feb 19, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants