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

chore: Set Python 3.9 as the Minimum Supported Version #11159

Merged
merged 1 commit into from
Sep 12, 2024

Conversation

diegolovison
Copy link
Contributor

@diegolovison diegolovison commented Sep 2, 2024

Description of your changes:

As of October 2024, Python 3.8 has officially reached the end of its maintenance period. This means that it will no longer receive security updates, bug fixes, or any further support from the Python development team. To ensure the ongoing security and stability of our project, it is strongly recommended to upgrade to a more recent and supported version of Python. Continuing to use Python 3.8 may expose the project to security vulnerabilities and compatibility issues.

  • Folder excluded from the migration: samples, components, frontend
  • Removed xgboost_sample_pipeline.py because it contains files from components/XGBoost that were removed.

We are removing the following content from test_data_config.yaml because it is used inside the test suite. The test goes to that YAML, loads the content, and executes a test in runtime.

    - module: xgboost_sample_pipeline
      name: xgboost_pipeline
      execute: false

The files were removed because:

  • the file xgboost_sample_pipeline.py utilizes external components via components.load_component_from_url that no longer exist. For example components in components/XGBoost and components/datasets folder are no longer there. The test is passing because load_component_from_url has a static URL to a very old commit (4 years old). Due to the commit containing a Python image that does not match the Minimum Supported, so it has been removed as part of this PR.
  • Those references contain references to a Python image that is less than equals to 3.8.
    If the files were removed and if the files contain references to a Python image that is not minimal, then we remove them.
  • .gitlab-ci.yml and .travis.yml were removed because they are not part of our infrastructure and they contain Python images that are not the minimum required ( Python 3.9 ).

Checklist:

Copy link

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@juliusvonkohout
Copy link
Member

Follow up of #10950

@diegolovison diegolovison changed the title Py39 Set Python 3.9 as the Minimum Supported Version Sep 3, 2024
@diegolovison diegolovison changed the title Set Python 3.9 as the Minimum Supported Version chore: Set Python 3.9 as the Minimum Supported Version Sep 3, 2024
@diegolovison diegolovison marked this pull request as ready for review September 3, 2024 12:05
sdk/python/test_data/test_data_config.yaml Show resolved Hide resolved
@@ -1,33 +0,0 @@
# ref: https://docs.gitlab.com/ee/ci/README.html
Copy link
Contributor

Choose a reason for hiding this comment

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

do we know what these ci files were for? why are we removing them as part of the python 3.9 upgrade?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

They were removed because they are not part of our infrastructure and they contain Python images that are not the minimum required ( Python 3.9 ). If they are using, let's say by Google, they should update and I will undo the removal on my PR. I created an entry for the next meeting to make sure they are aware of that and also updated the description of the PR.

test/sdk-execution-tests/requirements.txt Outdated Show resolved Hide resolved
@@ -1,5 +1,5 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# This file is autogenerated by pip-compile with Python 3.9
Copy link
Contributor

Choose a reason for hiding this comment

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

For future reference can you drop a comment in the pr post on how you re-generated this file, it will be useful in the future for the next person that performs a similar pr for a newer version

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Each requirements.txt generated from pip-compile includes a comment with the command that was used to generate it. By checking the content of the file above, you'll find the following:

#
# This file is autogenerated by pip-compile with Python 3.9
# by the following command:
#
#    pip-compile --output-file=- --resolver=backtracking -
#

@@ -8,17 +8,17 @@ spec:
parameters:
- name: kubernetes-comp-comp
value: '{"pvcMount":[{"mountPath":"/data","taskOutputParameter":{"outputParameterKey":"name","producerTask":"createpvc"}}]}'
- name: components-95f802401136aebf1bf728a6675d7adba5513b53673a3698e00a6d8744638080
- name: components-b34273359995b3746ecf1bb58ac4bd6c54d47b6fdc35b013bb7962946f322a19
Copy link
Contributor

Choose a reason for hiding this comment

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

similar to this maybe adding your steps on how you generated these would be useful in the future.

Copy link
Contributor Author

@diegolovison diegolovison Sep 6, 2024

Choose a reason for hiding this comment

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

The test will fail and the output will be that you should update to b34273359995b3746ecf1bb58ac4bd6c54d47b6fdc35b013bb7962946f322a19

Copy link

@diegolovison: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
test-run-all-gcpc-modules 1cca9e4 link true /test test-run-all-gcpc-modules

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@HumairAK
Copy link
Contributor

/lgtm

this will need to be rebased however

@HumairAK
Copy link
Contributor

/lgtm

@google-oss-prow google-oss-prow bot added the lgtm label Sep 11, 2024
@diegolovison
Copy link
Contributor Author

@chensun

@HumairAK
Copy link
Contributor

HumairAK commented Sep 12, 2024

cc @chensun

It would be nice to get this merged as maintaining this PR long term is a bit of a pain due to the number of files affected.

Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: chensun

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow bot merged commit 123ed1e into kubeflow:master Sep 12, 2024
36 checks passed
@juliusvonkohout
Copy link
Member

Amazing, this is what would like to have in Kubeflow 1.10.

sefgsefg pushed a commit to sefgsefg/pipelines that referenced this pull request Sep 18, 2024
sefgsefg pushed a commit to sefgsefg/pipelines that referenced this pull request Sep 18, 2024
R3hankhan123 pushed a commit to R3hankhan123/pipelines that referenced this pull request Sep 20, 2024
sefgsefg pushed a commit to sefgsefg/pipelines that referenced this pull request Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants