From dce3a931e3fd7fd4d3f598d4278e3c2366756418 Mon Sep 17 00:00:00 2001 From: jayzalani <151207678+jayzalani@users.noreply.github.com> Date: Thu, 31 Jul 2025 20:03:29 +0530 Subject: [PATCH 1/4] Updated the versions of area/Sdk --- .gitignore | 1 + sdk/python/kfp/cli/compile_test.py | 4 +- sdk/python/kfp/cli/component_test.py | 14 +++--- sdk/python/kfp/compiler/compiler_test.py | 16 +++--- .../components/load_yaml_utilities_test.py | 2 +- sdk/python/kfp/dsl/component_decorator.py | 2 +- .../kfp/dsl/component_decorator_test.py | 4 +- sdk/python/kfp/dsl/component_factory.py | 2 +- .../dsl/container_component_decorator_test.py | 4 +- sdk/python/kfp/dsl/placeholders.py | 4 +- sdk/python/kfp/dsl/placeholders_test.py | 6 +-- sdk/python/kfp/dsl/structures_test.py | 4 +- .../kfp/local/docker_task_handler_test.py | 2 +- sdk/python/requirements-dev-updated.txt | 18 +++++++ sdk/python/setup.py | 3 +- .../pipeline_with_task_final_status.yaml | 6 +-- test_output.yaml | 49 +++++++++++++++++++ 17 files changed, 104 insertions(+), 37 deletions(-) create mode 100644 sdk/python/requirements-dev-updated.txt create mode 100644 test_output.yaml diff --git a/.gitignore b/.gitignore index e1169cb9cf8..52b48c46bc4 100644 --- a/.gitignore +++ b/.gitignore @@ -68,6 +68,7 @@ _build # virtualenv .venv/ +venv # python sdk package *.tar.gz diff --git a/sdk/python/kfp/cli/compile_test.py b/sdk/python/kfp/cli/compile_test.py index c11d43e2a4e..a271e212912 100644 --- a/sdk/python/kfp/cli/compile_test.py +++ b/sdk/python/kfp/cli/compile_test.py @@ -29,7 +29,7 @@ def my_comp(): @dsl.container_component def my_container_comp(): return dsl.ContainerSpec( - image='python:3.9', + image='python:3.10', command=['echo', 'hello world'], args=[], ) @@ -55,7 +55,7 @@ def my_comp(): @dsl.container_component def my_container_comp(): return dsl.ContainerSpec( - image='python:3.9', + image='python:3.10', command=['echo', 'hello world'], args=[], ) diff --git a/sdk/python/kfp/cli/component_test.py b/sdk/python/kfp/cli/component_test.py index 67c257ecb52..276126c060e 100644 --- a/sdk/python/kfp/cli/component_test.py +++ b/sdk/python/kfp/cli/component_test.py @@ -494,7 +494,7 @@ def test_docker_file_is_created_correctly(self): textwrap.dedent('''\ # Generated by KFP. - FROM python:3.9 + FROM python:3.10 WORKDIR /usr/local/src/kfp/components COPY runtime-requirements.txt runtime-requirements.txt @@ -523,7 +523,7 @@ def test_docker_file_is_created_correctly_with_one_url(self): textwrap.dedent('''\ # Generated by KFP. - FROM python:3.9 + FROM python:3.10 WORKDIR /usr/local/src/kfp/components COPY runtime-requirements.txt runtime-requirements.txt @@ -554,7 +554,7 @@ def test_docker_file_is_created_correctly_with_two_urls(self): textwrap.dedent('''\ # Generated by KFP. - FROM python:3.9 + FROM python:3.10 WORKDIR /usr/local/src/kfp/components COPY runtime-requirements.txt runtime-requirements.txt @@ -597,7 +597,7 @@ def test_existing_dockerfile_can_be_overwritten(self): textwrap.dedent('''\ # Generated by KFP. - FROM python:3.9 + FROM python:3.10 WORKDIR /usr/local/src/kfp/components COPY runtime-requirements.txt runtime-requirements.txt @@ -636,7 +636,7 @@ def test_dockerfile_can_contain_custom_kfp_package(self): file_start = textwrap.dedent('''\ # Generated by KFP. - FROM python:3.9 + FROM python:3.10 WORKDIR /usr/local/src/kfp/components COPY runtime-requirements.txt runtime-requirements.txt @@ -665,7 +665,7 @@ def test_docker_file_is_created_one_trusted_host(self): textwrap.dedent('''\ # Generated by KFP. - FROM python:3.9 + FROM python:3.10 WORKDIR /usr/local/src/kfp/components COPY runtime-requirements.txt runtime-requirements.txt @@ -695,7 +695,7 @@ def test_docker_file_is_created_two_trusted_host(self): textwrap.dedent('''\ # Generated by KFP. - FROM python:3.9 + FROM python:3.10 WORKDIR /usr/local/src/kfp/components COPY runtime-requirements.txt runtime-requirements.txt diff --git a/sdk/python/kfp/compiler/compiler_test.py b/sdk/python/kfp/compiler/compiler_test.py index 6a7d1247905..a21fd217328 100644 --- a/sdk/python/kfp/compiler/compiler_test.py +++ b/sdk/python/kfp/compiler/compiler_test.py @@ -700,7 +700,7 @@ def test_use_task_final_status_in_non_exit_op_yaml(self): - {name: message, type: PipelineTaskFinalStatus} implementation: container: - image: python:3.9 + image: python:3.10 command: - echo - {inputValue: message} @@ -975,14 +975,14 @@ def orchestrator_pipeline(): def test_pipeline_with_parameterized_container_image(self): with tempfile.TemporaryDirectory() as tmpdir: - @dsl.component(base_image='docker.io/python:3.9.17') + @dsl.component(base_image='docker.io/python:3.10.17') def empty_component(): pass @dsl.pipeline() def simple_pipeline(img: str): task = empty_component() - # overwrite base_image="docker.io/python:3.9.17" + # overwrite base_image="docker.io/python:3.10.17" task.set_container_image(img) output_yaml = os.path.join(tmpdir, 'result.yaml') @@ -1010,14 +1010,14 @@ def simple_pipeline(img: str): def test_pipeline_with_constant_container_image(self): with tempfile.TemporaryDirectory() as tmpdir: - @dsl.component(base_image='docker.io/python:3.9.17') + @dsl.component(base_image='docker.io/python:3.10.17') def empty_component(): pass @dsl.pipeline() def simple_pipeline(): task = empty_component() - # overwrite base_image="docker.io/python:3.9.17" + # overwrite base_image="docker.io/python:3.10.17" task.set_container_image('constant-value') output_yaml = os.path.join(tmpdir, 'result.yaml') @@ -1474,7 +1474,7 @@ def test_compile_container_component_simple(self): def hello_world_container() -> dsl.ContainerSpec: """Hello world component.""" return dsl.ContainerSpec( - image='python:3.9', + image='python:3.10', command=['echo', 'hello world'], args=[], ) @@ -1497,7 +1497,7 @@ def test_compile_container_with_simple_io(self): @dsl.container_component def container_simple_io(text: str, output_path: dsl.OutputPath(str)): return dsl.ContainerSpec( - image='python:3.9', + image='python:3.10', command=['my_program', text], args=['--output_path', output_path]) @@ -2545,7 +2545,7 @@ def my_component(string: str, model: bool) -> str: def my_container_component(text: str, output_path: OutputPath(str)): """component description.""" return ContainerSpec( - image='python:3.9', + image='python:3.10', command=['my_program', text], args=['--output_path', output_path]) diff --git a/sdk/python/kfp/components/load_yaml_utilities_test.py b/sdk/python/kfp/components/load_yaml_utilities_test.py index 8130bb2e851..d1d0e04e5bf 100644 --- a/sdk/python/kfp/components/load_yaml_utilities_test.py +++ b/sdk/python/kfp/components/load_yaml_utilities_test.py @@ -121,7 +121,7 @@ def test_load_component_from_url(self): self.assertEqual(component.name, 'identity') self.assertEqual( component.component_spec.implementation.container.image, - 'python:3.9') + 'python:3.10') if __name__ == '__main__': diff --git a/sdk/python/kfp/dsl/component_decorator.py b/sdk/python/kfp/dsl/component_decorator.py index c2dee355b16..c157ea6dad6 100644 --- a/sdk/python/kfp/dsl/component_decorator.py +++ b/sdk/python/kfp/dsl/component_decorator.py @@ -93,7 +93,7 @@ def my_function_one(input: str, output: Output[Model]): ... @dsl.component( - base_image='python:3.9', + base_image='python:3.10', output_component_file='my_function.yaml' ) def my_function_two(input: Input[Mode])): diff --git a/sdk/python/kfp/dsl/component_decorator_test.py b/sdk/python/kfp/dsl/component_decorator_test.py index 4b51de638f4..ee45ea1587c 100644 --- a/sdk/python/kfp/dsl/component_decorator_test.py +++ b/sdk/python/kfp/dsl/component_decorator_test.py @@ -35,7 +35,7 @@ def hello_world(text: str) -> str: def test_as_decorator_syntactic_sugar_some_args(self): - @component(base_image='python:3.9') + @component(base_image='python:3.10') def hello_world(text: str) -> str: """Hello world component.""" return text @@ -52,7 +52,7 @@ def comp(text: str) -> str: def test_some_args(self): - @component(base_image='python:3.9') + @component(base_image='python:3.10') def comp(text: str) -> str: return text diff --git a/sdk/python/kfp/dsl/component_factory.py b/sdk/python/kfp/dsl/component_factory.py index 2beb649bef5..e04ee53e574 100644 --- a/sdk/python/kfp/dsl/component_factory.py +++ b/sdk/python/kfp/dsl/component_factory.py @@ -37,7 +37,7 @@ from kfp.dsl.types import type_annotations from kfp.dsl.types import type_utils -_DEFAULT_BASE_IMAGE = 'python:3.9' +_DEFAULT_BASE_IMAGE = 'python:3.10' SINGLE_OUTPUT_NAME = 'Output' diff --git a/sdk/python/kfp/dsl/container_component_decorator_test.py b/sdk/python/kfp/dsl/container_component_decorator_test.py index b690fd5e375..9b72fde0bf4 100644 --- a/sdk/python/kfp/dsl/container_component_decorator_test.py +++ b/sdk/python/kfp/dsl/container_component_decorator_test.py @@ -30,7 +30,7 @@ def test_func_with_no_arg(self): def hello_world() -> dsl.ContainerSpec: """Hello world component.""" return dsl.ContainerSpec( - image='python3.9', + image='python3.10', command=['echo', 'hello world'], args=[], ) @@ -47,7 +47,7 @@ def hello_world_io( text_output_path: dsl.OutputPath(str)) -> dsl.ContainerSpec: """Hello world component with input and output.""" return dsl.ContainerSpec( - image='python:3.9', + image='python:3.10', command=['echo'], args=['--text', text, '--output_path', text_output_path]) diff --git a/sdk/python/kfp/dsl/placeholders.py b/sdk/python/kfp/dsl/placeholders.py index d8b0dfb9446..1435d9c8bc6 100644 --- a/sdk/python/kfp/dsl/placeholders.py +++ b/sdk/python/kfp/dsl/placeholders.py @@ -179,7 +179,7 @@ class ConcatPlaceholder(Placeholder): def container_with_concat_placeholder(text1: str, text2: Output[Dataset], output_path: OutputPath(str)): return ContainerSpec( - image='python:3.9', + image='python:3.10', command=[ 'my_program', ConcatPlaceholder(['prefix-', text1, text2.uri]) @@ -227,7 +227,7 @@ def container_with_if_placeholder(output_path: OutputPath(str), dataset: Output[Dataset], optional_input: str = 'default'): return ContainerSpec( - image='python:3.9', + image='python:3.10', command=[ 'my_program', IfPresentPlaceholder( diff --git a/sdk/python/kfp/dsl/placeholders_test.py b/sdk/python/kfp/dsl/placeholders_test.py index 6c2fade8b6d..36026c099df 100644 --- a/sdk/python/kfp/dsl/placeholders_test.py +++ b/sdk/python/kfp/dsl/placeholders_test.py @@ -514,7 +514,7 @@ def container_with_placeholder_in_fstring( text1: str, ): return dsl.ContainerSpec( - image='python:3.9', + image='python:3.10', command=[ 'my_program', f'prefix-{text1}', @@ -540,7 +540,7 @@ def container_with_placeholder_in_fstring( text2: str, ): return dsl.ContainerSpec( - image='python:3.9', + image='python:3.10', command=[ 'my_program', f'another-prefix-{dsl.ConcatPlaceholder([text1, text2])}', @@ -557,7 +557,7 @@ def container_with_placeholder_in_fstring( text2: str, ): return dsl.ContainerSpec( - image='python:3.9', + image='python:3.10', command=[ 'echo', f"another-prefix-{dsl.IfPresentPlaceholder(input_name='text1', then=['val'])}", diff --git a/sdk/python/kfp/dsl/structures_test.py b/sdk/python/kfp/dsl/structures_test.py index 29ebc7f16a5..d691ccc6be3 100644 --- a/sdk/python/kfp/dsl/structures_test.py +++ b/sdk/python/kfp/dsl/structures_test.py @@ -454,7 +454,7 @@ def test_env(self): def test_from_container_dict_no_placeholders(self): expected_container_spec = structures.ContainerSpecImplementation( - image='python:3.9', + image='python:3.10', command=['sh', '-c', 'dummy'], args=['--executor_input', '{{$}}', '--function_to_execute', 'func'], env={'ENV1': 'val1'}, @@ -465,7 +465,7 @@ def test_from_container_dict_no_placeholders(self): '--executor_input', '{{$}}', '--function_to_execute', 'func' ], 'command': ['sh', '-c', 'dummy'], - 'image': 'python:3.9', + 'image': 'python:3.10', 'env': { 'ENV1': 'val1' }, diff --git a/sdk/python/kfp/local/docker_task_handler_test.py b/sdk/python/kfp/local/docker_task_handler_test.py index 71f8be21361..818b0935ea7 100755 --- a/sdk/python/kfp/local/docker_task_handler_test.py +++ b/sdk/python/kfp/local/docker_task_handler_test.py @@ -190,7 +190,7 @@ def artifact_maker(x: str, a: Output[Artifact]): kwargs = run_mock.call_args[1] self.assertEqual( kwargs['image'], - 'python:3.9', + 'python:3.10', ) self.assertTrue( any('def artifact_maker' in c for c in kwargs['command'])) diff --git a/sdk/python/requirements-dev-updated.txt b/sdk/python/requirements-dev-updated.txt new file mode 100644 index 00000000000..5c6f7ee11cb --- /dev/null +++ b/sdk/python/requirements-dev-updated.txt @@ -0,0 +1,18 @@ + +absl-py>=2.0.0 +docformatter>=1.7.0 +docker>=7.0.0 +isort>=5.13.0 +mypy>=1.8.0 +pip-tools>=7.0.0 +pre-commit>=3.6.0 +pycln>=2.4.0 +pylint>=3.0.0 +pytest>=8.0.0 +pytest-cov>=5.0.0 +pytest-xdist>=3.5.0 +types-protobuf>=4.24.0 +types-PyYAML>=6.0.12 +types-requests>=2.31.0 +types-tabulate>=0.9.0 +yapf>=0.40.0 \ No newline at end of file diff --git a/sdk/python/setup.py b/sdk/python/setup.py index a3b04f6a651..8a40f0e9a65 100644 --- a/sdk/python/setup.py +++ b/sdk/python/setup.py @@ -87,7 +87,6 @@ def read_readme() -> str: 'Intended Audience :: Science/Research', 'License :: OSI Approved :: Apache Software License', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', @@ -98,7 +97,7 @@ def read_readme() -> str: 'Topic :: Software Development :: Libraries', 'Topic :: Software Development :: Libraries :: Python Modules', ], - python_requires='>=3.9.0', + python_requires='>=3.10.0', include_package_data=True, entry_points={ 'console_scripts': [ diff --git a/sdk/runtime_tests/test_data/pipeline_with_task_final_status.yaml b/sdk/runtime_tests/test_data/pipeline_with_task_final_status.yaml index a2d61308664..79919fe150d 100644 --- a/sdk/runtime_tests/test_data/pipeline_with_task_final_status.yaml +++ b/sdk/runtime_tests/test_data/pipeline_with_task_final_status.yaml @@ -88,7 +88,7 @@ deploymentSpec: \ print('Pipeline task name: ', status.pipeline_task_name)\n print('Error\ \ code: ', status.error_code)\n print('Error message: ', status.error_message)\n\ \n" - image: python:3.9 + image: python:3.10 exec-fail-op: container: args: @@ -117,7 +117,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef fail_op(message: str):\n \"\"\"Fails.\"\"\"\n import sys\n\ \ print(message)\n sys.exit(1)\n\n" - image: python:3.9 + image: python:3.10 exec-print-op: container: args: @@ -146,7 +146,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(message: str):\n \"\"\"Prints a message.\"\"\"\n\ \ print(message)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-with-task-final-status root: diff --git a/test_output.yaml b/test_output.yaml new file mode 100644 index 00000000000..ecc16307f93 --- /dev/null +++ b/test_output.yaml @@ -0,0 +1,49 @@ +# PIPELINE DEFINITION +# Name: tiny-pipeline +components: + comp-my-component: + executorLabel: exec-my-component +deploymentSpec: + executors: + exec-my-component: + container: + args: + - --executor_input + - '{{$}}' + - --function_to_execute + - my_component + command: + - sh + - -c + - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ + \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ + \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.14.0'\ + \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ + $0\" \"$@\"\n" + - sh + - -ec + - 'program_path=$(mktemp -d) + + + printf "%s" "$0" > "$program_path/ephemeral_component.py" + + _KFP_RUNTIME=true python3 -m kfp.dsl.executor_main --component_module_path "$program_path/ephemeral_component.py" "$@" + + ' + - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ + \ *\n\ndef my_component():\n pass\n\n" + image: python:3.10 +pipelineInfo: + name: tiny-pipeline +root: + dag: + tasks: + my-component: + cachingOptions: + enableCache: true + componentRef: + name: comp-my-component + taskInfo: + name: my-component +schemaVersion: 2.1.0 +sdkVersion: kfp-2.14.0 From 4e499ca04306a8ee6e4c78cd2cd8afe92653a4dd Mon Sep 17 00:00:00 2001 From: jayzalani <151207678+jayzalani@users.noreply.github.com> Date: Thu, 31 Jul 2025 20:08:23 +0530 Subject: [PATCH 2/4] Updated the versions of area/Sdk --- test_output.yaml | 49 ------------------------------------------------ 1 file changed, 49 deletions(-) delete mode 100644 test_output.yaml diff --git a/test_output.yaml b/test_output.yaml deleted file mode 100644 index ecc16307f93..00000000000 --- a/test_output.yaml +++ /dev/null @@ -1,49 +0,0 @@ -# PIPELINE DEFINITION -# Name: tiny-pipeline -components: - comp-my-component: - executorLabel: exec-my-component -deploymentSpec: - executors: - exec-my-component: - container: - args: - - --executor_input - - '{{$}}' - - --function_to_execute - - my_component - command: - - sh - - -c - - "\nif ! [ -x \"$(command -v pip)\" ]; then\n python3 -m ensurepip ||\ - \ python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1\ - \ python3 -m pip install --quiet --no-warn-script-location 'kfp==2.14.0'\ - \ '--no-deps' 'typing-extensions>=3.7.4,<5; python_version<\"3.9\"' && \"\ - $0\" \"$@\"\n" - - sh - - -ec - - 'program_path=$(mktemp -d) - - - printf "%s" "$0" > "$program_path/ephemeral_component.py" - - _KFP_RUNTIME=true python3 -m kfp.dsl.executor_main --component_module_path "$program_path/ephemeral_component.py" "$@" - - ' - - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ - \ *\n\ndef my_component():\n pass\n\n" - image: python:3.10 -pipelineInfo: - name: tiny-pipeline -root: - dag: - tasks: - my-component: - cachingOptions: - enableCache: true - componentRef: - name: comp-my-component - taskInfo: - name: my-component -schemaVersion: 2.1.0 -sdkVersion: kfp-2.14.0 From 78619110148817a6c801186de7955af1b9d08af5 Mon Sep 17 00:00:00 2001 From: jayzalani <151207678+jayzalani@users.noreply.github.com> Date: Fri, 1 Aug 2025 12:07:04 +0530 Subject: [PATCH 3/4] Updated the versions of area/Sdk --- sdk/python/requirements-dev-updated.txt | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 sdk/python/requirements-dev-updated.txt diff --git a/sdk/python/requirements-dev-updated.txt b/sdk/python/requirements-dev-updated.txt deleted file mode 100644 index 5c6f7ee11cb..00000000000 --- a/sdk/python/requirements-dev-updated.txt +++ /dev/null @@ -1,18 +0,0 @@ - -absl-py>=2.0.0 -docformatter>=1.7.0 -docker>=7.0.0 -isort>=5.13.0 -mypy>=1.8.0 -pip-tools>=7.0.0 -pre-commit>=3.6.0 -pycln>=2.4.0 -pylint>=3.0.0 -pytest>=8.0.0 -pytest-cov>=5.0.0 -pytest-xdist>=3.5.0 -types-protobuf>=4.24.0 -types-PyYAML>=6.0.12 -types-requests>=2.31.0 -types-tabulate>=0.9.0 -yapf>=0.40.0 \ No newline at end of file From b0a45fbc6672f7214e5dcc23e0eb596f3ffe028d Mon Sep 17 00:00:00 2001 From: jayzalani <151207678+jayzalani@users.noreply.github.com> Date: Mon, 4 Aug 2025 11:29:05 +0530 Subject: [PATCH 4/4] Update Python Version of Github Actions Signed-off-by: jayzalani <151207678+jayzalani@users.noreply.github.com> --- .github/workflows/backend-visualization.yml | 2 +- .github/workflows/e2e-test.yml | 16 ++++++++-------- .github/workflows/gcpc-modules-tests.yml | 2 +- .../workflows/kfp-kubernetes-execution-tests.yml | 2 +- .../workflows/kfp-kubernetes-library-test.yml | 2 +- .github/workflows/kfp-samples.yml | 2 +- .github/workflows/kfp-sdk-runtime-tests.yml | 2 +- .github/workflows/kfp-sdk-tests.yml | 2 +- .github/workflows/periodic.yml | 2 +- .github/workflows/sdk-component-yaml.yml | 2 +- .github/workflows/sdk-docformatter.yml | 2 +- .github/workflows/sdk-isort.yml | 2 +- .github/workflows/sdk-upgrade.yml | 2 +- .github/workflows/sdk-yapf.yml | 2 +- .github/workflows/upgrade-test.yml | 2 +- .github/workflows/validate-generated-files.yml | 2 +- 16 files changed, 23 insertions(+), 23 deletions(-) diff --git a/.github/workflows/backend-visualization.yml b/.github/workflows/backend-visualization.yml index 2168524e207..1b51aabd4c8 100644 --- a/.github/workflows/backend-visualization.yml +++ b/.github/workflows/backend-visualization.yml @@ -22,7 +22,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.9' + python-version: '3.10' - name: Run tests run: ./test/presubmit-backend-visualization.sh diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml index ca6c839aa84..9b241af0ff5 100644 --- a/.github/workflows/e2e-test.yml +++ b/.github/workflows/e2e-test.yml @@ -33,7 +33,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Create KFP cluster id: create-kfp-cluster @@ -83,7 +83,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Create KFP cluster id: create-kfp-cluster @@ -133,7 +133,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Create KFP cluster id: create-kfp-cluster @@ -190,7 +190,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Create KFP cluster id: create-kfp-cluster @@ -248,7 +248,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Create KFP cluster id: create-kfp-cluster @@ -306,7 +306,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Create KFP cluster id: create-kfp-cluster @@ -363,7 +363,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Create KFP cluster id: create-kfp-cluster @@ -420,7 +420,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Create KFP cluster id: create-kfp-cluster diff --git a/.github/workflows/gcpc-modules-tests.yml b/.github/workflows/gcpc-modules-tests.yml index 7bc97c39c6f..ae717753d32 100644 --- a/.github/workflows/gcpc-modules-tests.yml +++ b/.github/workflows/gcpc-modules-tests.yml @@ -21,7 +21,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Install protobuf-compiler run: sudo apt update && sudo apt install -y protobuf-compiler diff --git a/.github/workflows/kfp-kubernetes-execution-tests.yml b/.github/workflows/kfp-kubernetes-execution-tests.yml index b4a1b1dd559..d3d0bc8f560 100644 --- a/.github/workflows/kfp-kubernetes-execution-tests.yml +++ b/.github/workflows/kfp-kubernetes-execution-tests.yml @@ -29,7 +29,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.9' + python-version: '3.10' # This is intended to address disk space issues that have surfaced # intermittently during CI - diff --git a/.github/workflows/kfp-kubernetes-library-test.yml b/.github/workflows/kfp-kubernetes-library-test.yml index 8b08295dbb6..65aea0dd9cc 100644 --- a/.github/workflows/kfp-kubernetes-library-test.yml +++ b/.github/workflows/kfp-kubernetes-library-test.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: python: [ - { 'version': '3.9' }, + { 'version': '3.10' }, { 'version': '3.13' } ] steps: diff --git a/.github/workflows/kfp-samples.yml b/.github/workflows/kfp-samples.yml index 135c9549e02..25e5ec872df 100644 --- a/.github/workflows/kfp-samples.yml +++ b/.github/workflows/kfp-samples.yml @@ -31,7 +31,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Free up space in /dev/root run: | diff --git a/.github/workflows/kfp-sdk-runtime-tests.yml b/.github/workflows/kfp-sdk-runtime-tests.yml index 5bc6b260d5c..0e7fb48192c 100644 --- a/.github/workflows/kfp-sdk-runtime-tests.yml +++ b/.github/workflows/kfp-sdk-runtime-tests.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - python: ['3.9', '3.13'] + python: ['3.10', '3.13'] steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/.github/workflows/kfp-sdk-tests.yml b/.github/workflows/kfp-sdk-tests.yml index aa171fe557e..0f26b6e0b2b 100644 --- a/.github/workflows/kfp-sdk-tests.yml +++ b/.github/workflows/kfp-sdk-tests.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.9', '3.13'] + python-version: ['3.10', '3.13'] steps: - name: Checkout code diff --git a/.github/workflows/periodic.yml b/.github/workflows/periodic.yml index 9e18e324b7a..d4c01ed4099 100644 --- a/.github/workflows/periodic.yml +++ b/.github/workflows/periodic.yml @@ -17,7 +17,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Create KFP cluster uses: ./.github/actions/kfp-cluster with: diff --git a/.github/workflows/sdk-component-yaml.yml b/.github/workflows/sdk-component-yaml.yml index 3bfbf91a9ce..a73605b0a9b 100644 --- a/.github/workflows/sdk-component-yaml.yml +++ b/.github/workflows/sdk-component-yaml.yml @@ -24,7 +24,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Install protobuf dependencies uses: ./.github/actions/protobuf diff --git a/.github/workflows/sdk-docformatter.yml b/.github/workflows/sdk-docformatter.yml index 79c344de3a6..59a981b3580 100644 --- a/.github/workflows/sdk-docformatter.yml +++ b/.github/workflows/sdk-docformatter.yml @@ -22,7 +22,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Run docformatter tests run: ./test/presubmit-docformatter-sdk.sh diff --git a/.github/workflows/sdk-isort.yml b/.github/workflows/sdk-isort.yml index 1089895d5c2..beb0f1b7992 100644 --- a/.github/workflows/sdk-isort.yml +++ b/.github/workflows/sdk-isort.yml @@ -23,7 +23,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Run isort tests run: ./test/presubmit-isort-sdk.sh diff --git a/.github/workflows/sdk-upgrade.yml b/.github/workflows/sdk-upgrade.yml index 40a59999594..1f44a0cafa2 100644 --- a/.github/workflows/sdk-upgrade.yml +++ b/.github/workflows/sdk-upgrade.yml @@ -22,7 +22,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Run SDK upgrade tests run: ./test/presubmit-test-sdk-upgrade.sh diff --git a/.github/workflows/sdk-yapf.yml b/.github/workflows/sdk-yapf.yml index 7c2e620c3db..bf6c2b67f80 100644 --- a/.github/workflows/sdk-yapf.yml +++ b/.github/workflows/sdk-yapf.yml @@ -24,7 +24,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.9' + python-version: '3.10' - name: Install dependencies run: pip install yapf diff --git a/.github/workflows/upgrade-test.yml b/.github/workflows/upgrade-test.yml index d9727a8a1d5..7f5e0b38559 100644 --- a/.github/workflows/upgrade-test.yml +++ b/.github/workflows/upgrade-test.yml @@ -28,7 +28,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Create KFP cluster id: create-kfp-cluster diff --git a/.github/workflows/validate-generated-files.yml b/.github/workflows/validate-generated-files.yml index b62e2660e91..8b0ad65a9cb 100644 --- a/.github/workflows/validate-generated-files.yml +++ b/.github/workflows/validate-generated-files.yml @@ -37,7 +37,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.10 - name: Install protobuf dependencies & kfp-pipeline-spec id: install-protobuf-deps