diff --git a/.github/workflows/api-server-tests.yml b/.github/workflows/api-server-tests.yml index 3e9681dc54a..d938ba8d70a 100644 --- a/.github/workflows/api-server-tests.yml +++ b/.github/workflows/api-server-tests.yml @@ -7,7 +7,7 @@ env: CLUSTER_NAME: "kfp" NAMESPACE: "kubeflow" USER_NAMESPACE: "kubeflow-user-example-com" - PYTHON_VERSION: "3.9" + PYTHON_VERSION: "3.10" on: push: diff --git a/.github/workflows/compiler-tests.yml b/.github/workflows/compiler-tests.yml index 103f05ab91c..c01a4e81f5e 100644 --- a/.github/workflows/compiler-tests.yml +++ b/.github/workflows/compiler-tests.yml @@ -3,7 +3,7 @@ name: Workflow Compiler Tests env: TESTS_DIR: "./backend/test/compiler" TESTS_LABEL: "WorkflowCompiler" - PYTHON_VERSION: "3.9" + PYTHON_VERSION: "3.10" on: push: diff --git a/.github/workflows/e2e-test-frontend.yml b/.github/workflows/e2e-test-frontend.yml index f9bccb8ae88..a375708fcf0 100644 --- a/.github/workflows/e2e-test-frontend.yml +++ b/.github/workflows/e2e-test-frontend.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: '3.10' - name: Create KFP cluster diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml index 62c0c67ee5b..8e494f1ac0c 100644 --- a/.github/workflows/e2e-test.yml +++ b/.github/workflows/e2e-test.yml @@ -4,7 +4,7 @@ env: NUMBER_OF_PARALLEL_NODES: 10 CLUSTER_NAME: "kfp" NAMESPACE: "kubeflow" - PYTHON_VERSION: "3.9" + PYTHON_VERSION: "3.10" USER_NAMESPACE: "kubeflow-user-example-com" on: diff --git a/.github/workflows/gcpc-modules-tests.yml b/.github/workflows/gcpc-modules-tests.yml index 74994c037e8..fe421ba2586 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/integration-tests-v1.yml b/.github/workflows/integration-tests-v1.yml index 0db4d80da82..798b10623b1 100644 --- a/.github/workflows/integration-tests-v1.yml +++ b/.github/workflows/integration-tests-v1.yml @@ -35,7 +35,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/kfp-kubernetes-execution-tests.yml b/.github/workflows/kfp-kubernetes-execution-tests.yml index b776de18fdc..906ebfc0fbb 100644 --- a/.github/workflows/kfp-kubernetes-execution-tests.yml +++ b/.github/workflows/kfp-kubernetes-execution-tests.yml @@ -33,7 +33,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 67bdc0400fb..5b9a8908f53 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-sdk-runtime-tests.yml b/.github/workflows/kfp-sdk-runtime-tests.yml index 39e6b961261..b115ec2052e 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@v5 diff --git a/.github/workflows/kfp-sdk-tests.yml b/.github/workflows/kfp-sdk-tests.yml index 00e5c6163f0..7f854ea8e63 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/legacy-v2-api-integration-tests.yml b/.github/workflows/legacy-v2-api-integration-tests.yml index 917747e1e3f..02cd5d16c79 100644 --- a/.github/workflows/legacy-v2-api-integration-tests.yml +++ b/.github/workflows/legacy-v2-api-integration-tests.yml @@ -39,7 +39,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/sdk-component-yaml.yml b/.github/workflows/sdk-component-yaml.yml index 2eac5f704ae..f921599c479 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 5ec915b01a2..4a598435ede 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 294329cee37..9f8df6033cb 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 0960b596e2f..11f9c90c447 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: Install protobuf dependencies & kfp-pipeline-spec id: install-protobuf-deps diff --git a/.github/workflows/sdk-yapf.yml b/.github/workflows/sdk-yapf.yml index ae3e6f8ee53..48cba7983f5 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 8db92a5e38f..a0ecd084710 100644 --- a/.github/workflows/upgrade-test.yml +++ b/.github/workflows/upgrade-test.yml @@ -6,7 +6,7 @@ env: NUMBER_OF_PARALLEL_NODES: 15 CLUSTER_NAME: "kfp" NAMESPACE: "kubeflow" - PYTHON_VERSION: "3.9" + PYTHON_VERSION: "3.10" on: push: @@ -46,7 +46,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: '3.10' - name: Get last release tag shell: bash diff --git a/.github/workflows/validate-generated-files.yml b/.github/workflows/validate-generated-files.yml index 0ec1a735c9f..dd182dfb530 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 diff --git a/backend/metadata_writer/Dockerfile b/backend/metadata_writer/Dockerfile index 749807d3666..73bcd97e341 100644 --- a/backend/metadata_writer/Dockerfile +++ b/backend/metadata_writer/Dockerfile @@ -1,5 +1,5 @@ # ml-metadata package depends on tensorflow package -FROM python:3.9 +FROM python:3.10 COPY backend/metadata_writer/requirements.txt /kfp/metadata_writer/ RUN python3 -m pip install -r /kfp/metadata_writer/requirements.txt diff --git a/backend/metadata_writer/update_requirements.sh b/backend/metadata_writer/update_requirements.sh index a907c2a9fc5..faac494f053 100755 --- a/backend/metadata_writer/update_requirements.sh +++ b/backend/metadata_writer/update_requirements.sh @@ -1,5 +1,5 @@ #!/bin/bash # This image should be in sync with Dockerfile. -IMAGE="python:3.9" +IMAGE="python:3.10" ../../hack/update-requirements.sh $IMAGE requirements.txt diff --git a/backend/src/apiserver/config/testdata/sample_pipeline.yaml b/backend/src/apiserver/config/testdata/sample_pipeline.yaml index 4a0edac76e4..136e5105c28 100644 --- a/backend/src/apiserver/config/testdata/sample_pipeline.yaml +++ b/backend/src/apiserver/config/testdata/sample_pipeline.yaml @@ -32,7 +32,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef hello_world():\n print('hello')\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-hello-world root: diff --git a/backend/src/apiserver/resource/resource_manager_test.go b/backend/src/apiserver/resource/resource_manager_test.go index 210b7c59579..e5f078f5717 100644 --- a/backend/src/apiserver/resource/resource_manager_test.go +++ b/backend/src/apiserver/resource/resource_manager_test.go @@ -3479,7 +3479,7 @@ spec: - name: ENABLE_CACHING valueFrom: fieldRef: {fieldPath: 'metadata.labels[''pipelines.kubeflow.org/enable_caching'']'} - - {name: KFP_V2_IMAGE, value: 'python:3.9'} + - {name: KFP_V2_IMAGE, value: 'python:3.10'} - {name: KFP_V2_RUNTIME_INFO, value: '{"inputParameters": {"some_int": {"type": "INT"}, "uri": {"type": "STRING"}}, "inputArtifacts": {}, "outputParameters": {"output_parameter_one": {"type": "INT", "path": "/tmp/outputs/output_parameter_one/data"}}, @@ -3487,7 +3487,7 @@ spec: "instanceSchema": "", "metadataPath": "/tmp/outputs/output_dataset_one/data"}}}'} envFrom: - configMapRef: {name: metadata-grpc-configmap, optional: true} - image: python:3.9 + image: python:3.10 volumeMounts: - {mountPath: /kfp-launcher, name: kfp-launcher} inputs: @@ -3581,7 +3581,7 @@ spec: - name: ENABLE_CACHING valueFrom: fieldRef: {fieldPath: 'metadata.labels[''pipelines.kubeflow.org/enable_caching'']'} - - {name: KFP_V2_IMAGE, value: 'python:3.9'} + - {name: KFP_V2_IMAGE, value: 'python:3.10'} - {name: KFP_V2_RUNTIME_INFO, value: '{"inputParameters": {"num_steps": {"type": "INT"}}, "inputArtifacts": {"dataset": {"metadataPath": "/tmp/inputs/dataset/data", "schemaTitle": "system.Dataset", "instanceSchema": ""}}, "outputParameters": @@ -3589,7 +3589,7 @@ spec: "", "metadataPath": "/tmp/outputs/model/data"}}}'} envFrom: - configMapRef: {name: metadata-grpc-configmap, optional: true} - image: python:3.9 + image: python:3.10 volumeMounts: - {mountPath: /kfp-launcher, name: kfp-launcher} inputs: @@ -4113,7 +4113,7 @@ deploymentSpec: _parsed_args = vars(_parser.parse_args()) _outputs = hello_world(**_parsed_args) - image: python:3.9 + image: python:3.10 pipelineInfo: name: hello-world root: @@ -4146,7 +4146,7 @@ deploymentSpec: executors: exec-hello-world: container: - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipelines/p1/versions/v1 root: diff --git a/backend/src/apiserver/server/pipeline_upload_server_test.go b/backend/src/apiserver/server/pipeline_upload_server_test.go index 7dbbf3a3e9f..d4a4eb5d3cd 100644 --- a/backend/src/apiserver/server/pipeline_upload_server_test.go +++ b/backend/src/apiserver/server/pipeline_upload_server_test.go @@ -730,7 +730,7 @@ deploymentSpec: _parsed_args = vars(_parser.parse_args()) _outputs = hello_world(**_parsed_args) - image: python:3.9 + image: python:3.10 pipelineInfo: name: hello-world root: @@ -787,7 +787,7 @@ deploymentSpec: _parsed_args = vars(_parser.parse_args()) _outputs = hello_world(**_parsed_args) - image: python:3.9 + image: python:3.10 pipelineInfo: name: hello-world root: @@ -828,7 +828,7 @@ deploymentSpec: executors: exec-hello-world: container: - image: python:3.9 + image: python:3.10 pipelineInfo: name: hello-world- root: @@ -853,7 +853,7 @@ deploymentSpec: executors: exec-hello-world: container: - image: python:3.9 + image: python:3.10 pipelineInfo: name: hEllo-world root: @@ -878,7 +878,7 @@ deploymentSpec: executors: exec-hello-world: container: - image: python:3.9 + image: python:3.10 pipelineInfo: name: more than 128 characters more than 128 characters more than 128 characters more than 128 characters more than 128 characters root: @@ -903,7 +903,7 @@ deploymentSpec: executors: exec-hello-world: container: - image: python:3.9 + image: python:3.10 pipelineInfo: name: hello-worl.d root: diff --git a/backend/src/apiserver/server/test/pipeline_with_volume.yaml b/backend/src/apiserver/server/test/pipeline_with_volume.yaml index 99c0009236b..4b343771c9b 100644 --- a/backend/src/apiserver/server/test/pipeline_with_volume.yaml +++ b/backend/src/apiserver/server/test/pipeline_with_volume.yaml @@ -66,7 +66,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef comp():\n pass\n\n" - image: python:3.9 + image: python:3.10 exec-comp-2: container: args: @@ -92,7 +92,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef comp():\n pass\n\n" - image: python:3.9 + image: python:3.10 exec-comp-3: container: args: @@ -118,7 +118,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef comp():\n pass\n\n" - image: python:3.9 + image: python:3.10 exec-createpvc: container: image: argostub/createpvc diff --git a/backend/src/apiserver/server/test/v2-hello-world.json b/backend/src/apiserver/server/test/v2-hello-world.json index bff7b6b7b2a..2a905c14eaf 100644 --- a/backend/src/apiserver/server/test/v2-hello-world.json +++ b/backend/src/apiserver/server/test/v2-hello-world.json @@ -22,7 +22,7 @@ "program_path=$(mktemp)\nprintf \"%s\" \"$0\" > \"$program_path\"\npython3 -u \"$program_path\" \"$@\"\n", "def hello_world(text):\n print(text)\n return text\n\nimport argparse\n_parser = argparse.ArgumentParser(prog='Hello world', description='')\n_parser.add_argument(\"--text\", dest=\"text\", type=str, required=True, default=argparse.SUPPRESS)\n_parsed_args = vars(_parser.parse_args())\n\n_outputs = hello_world(**_parsed_args)\n" ], - "image": "python:3.9" + "image": "python:3.10" } } } diff --git a/backend/src/apiserver/server/test/xgboost_sample_pipeline.yaml b/backend/src/apiserver/server/test/xgboost_sample_pipeline.yaml index 67354ed309c..6fde3011dc7 100644 --- a/backend/src/apiserver/server/test/xgboost_sample_pipeline.yaml +++ b/backend/src/apiserver/server/test/xgboost_sample_pipeline.yaml @@ -293,7 +293,7 @@ deploymentSpec: \ try:\n os.makedirs(os.path.dirname(output_file))\n except\ \ OSError:\n pass\n with open(output_file, 'w') as f:\n \ \ f.write(_output_serializers[idx](_outputs[idx]))\n" - image: python:3.9 + image: python:3.10 exec-xgboost-predict: container: args: @@ -344,7 +344,7 @@ deploymentSpec: _parser.add_argument(\"--predictions\", dest=\"predictions_path\", type=_make_parent_dirs_and_return_path,\ \ required=True, default=argparse.SUPPRESS)\n_parsed_args = vars(_parser.parse_args())\n\ \n_outputs = xgboost_predict(**_parsed_args)\n" - image: python:3.9 + image: python:3.10 exec-xgboost-predict-2: container: args: @@ -398,7 +398,7 @@ deploymentSpec: predictions_path\", type=_make_parent_dirs_and_return_path, required=True,\ \ default=argparse.SUPPRESS)\n_parsed_args = vars(_parser.parse_args())\n\ \n_outputs = xgboost_predict(**_parsed_args)\n" - image: python:3.9 + image: python:3.10 exec-xgboost-predict-3: container: args: @@ -452,7 +452,7 @@ deploymentSpec: predictions_path\", type=_make_parent_dirs_and_return_path, required=True,\ \ default=argparse.SUPPRESS)\n_parsed_args = vars(_parser.parse_args())\n\ \n_outputs = xgboost_predict(**_parsed_args)\n" - image: python:3.9 + image: python:3.10 exec-xgboost-predict-4: container: args: @@ -503,7 +503,7 @@ deploymentSpec: _parser.add_argument(\"--predictions\", dest=\"predictions_path\", type=_make_parent_dirs_and_return_path,\ \ required=True, default=argparse.SUPPRESS)\n_parsed_args = vars(_parser.parse_args())\n\ \n_outputs = xgboost_predict(**_parsed_args)\n" - image: python:3.9 + image: python:3.10 exec-xgboost-train: container: args: @@ -620,7 +620,7 @@ deploymentSpec: , dest=\"model_config_path\", type=_make_parent_dirs_and_return_path, required=True,\ \ default=argparse.SUPPRESS)\n_parsed_args = vars(_parser.parse_args())\n\ \n_outputs = xgboost_train(**_parsed_args)\n" - image: python:3.9 + image: python:3.10 exec-xgboost-train-2: container: args: @@ -737,7 +737,7 @@ deploymentSpec: , dest=\"model_config_path\", type=_make_parent_dirs_and_return_path, required=True,\ \ default=argparse.SUPPRESS)\n_parsed_args = vars(_parser.parse_args())\n\ \n_outputs = xgboost_train(**_parsed_args)\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: xgboost-sample-pipeline root: diff --git a/backend/src/apiserver/storage/pipeline_store_test.go b/backend/src/apiserver/storage/pipeline_store_test.go index 9683ba50ef6..b41bb0bcbe6 100644 --- a/backend/src/apiserver/storage/pipeline_store_test.go +++ b/backend/src/apiserver/storage/pipeline_store_test.go @@ -1936,7 +1936,7 @@ executors: _parsed_args = vars(_parser.parse_args()) _outputs = hello_world(**_parsed_args) - image: python:3.9 + image: python:3.10 pipelineInfo: name: hello-world root: diff --git a/backend/src/apiserver/template/testdata/hello_world.yaml b/backend/src/apiserver/template/testdata/hello_world.yaml index 8f37ce80098..3e11c5a8ade 100644 --- a/backend/src/apiserver/template/testdata/hello_world.yaml +++ b/backend/src/apiserver/template/testdata/hello_world.yaml @@ -31,7 +31,7 @@ deploymentSpec: _parsed_args = vars(_parser.parse_args()) _outputs = hello_world(**_parsed_args) - image: python:3.9 + image: python:3.10 pipelineInfo: name: namespace/n1/pipeline/hello-world root: diff --git a/backend/src/apiserver/template/testdata/hello_world_schema_2_0_0.yaml b/backend/src/apiserver/template/testdata/hello_world_schema_2_0_0.yaml index ac46b6c1aa3..eff739efa8d 100644 --- a/backend/src/apiserver/template/testdata/hello_world_schema_2_0_0.yaml +++ b/backend/src/apiserver/template/testdata/hello_world_schema_2_0_0.yaml @@ -30,7 +30,7 @@ deploymentSpec: _parsed_args = vars(_parser.parse_args()) _outputs = hello_world(**_parsed_args) - image: python:3.9 + image: python:3.10 pipelineInfo: name: hello-world root: diff --git a/backend/src/apiserver/template/testdata/pipeline_with_volume.yaml b/backend/src/apiserver/template/testdata/pipeline_with_volume.yaml index 64247b4bbff..06f284d837f 100644 --- a/backend/src/apiserver/template/testdata/pipeline_with_volume.yaml +++ b/backend/src/apiserver/template/testdata/pipeline_with_volume.yaml @@ -68,7 +68,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef comp():\n pass\n\n" - image: python:3.9 + image: python:3.10 exec-comp-2: container: args: @@ -94,7 +94,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef comp():\n pass\n\n" - image: python:3.9 + image: python:3.10 exec-comp-3: container: args: @@ -120,7 +120,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef comp():\n pass\n\n" - image: python:3.9 + image: python:3.10 exec-createpvc: container: image: argostub/createpvc diff --git a/backend/src/cache/server/mutation_test.go b/backend/src/cache/server/mutation_test.go index b0b082f3580..ae6c1ab8d7f 100644 --- a/backend/src/cache/server/mutation_test.go +++ b/backend/src/cache/server/mutation_test.go @@ -52,7 +52,7 @@ var ( Command: []string{"python"}, Env: []corev1.EnvVar{{ Name: ArgoWorkflowTemplateEnvKey, - Value: `{"name": "Does not matter","container":{"command":["echo", "Hello"],"image":"python:3.9"}}`, + Value: `{"name": "Does not matter","container":{"command":["echo", "Hello"],"image":"python:3.10"}}`, }}, }, }, @@ -171,7 +171,7 @@ func TestMutatePodIfCachedWithCacheEntryExist(t *testing.T) { executionCache := &model.ExecutionCache{ ExecutionCacheKey: "1933d178a14bc415466cfd1b3ca2100af975e8c59e1ff9d502fcf18eb5cbd7f7", ExecutionOutput: "testOutput", - ExecutionTemplate: `{"container":{"command":["echo", "Hello"],"image":"python:3.9"}}`, + ExecutionTemplate: `{"container":{"command":["echo", "Hello"],"image":"python:3.10"}}`, MaxCacheStaleness: -1, } fakeClientManager.CacheStore().CreateExecutionCache(executionCache) @@ -190,7 +190,7 @@ func TestDefaultImage(t *testing.T) { executionCache := &model.ExecutionCache{ ExecutionCacheKey: "1933d178a14bc415466cfd1b3ca2100af975e8c59e1ff9d502fcf18eb5cbd7f7", ExecutionOutput: "testOutput", - ExecutionTemplate: `{"container":{"command":["echo", "Hello"],"image":"python:3.9"}}`, + ExecutionTemplate: `{"container":{"command":["echo", "Hello"],"image":"python:3.10"}}`, MaxCacheStaleness: -1, } fakeClientManager.CacheStore().CreateExecutionCache(executionCache) @@ -209,7 +209,7 @@ func TestSetImage(t *testing.T) { executionCache := &model.ExecutionCache{ ExecutionCacheKey: "f5fe913be7a4516ebfe1b5de29bcb35edd12ecc776b2f33f10ca19709ea3b2f0", ExecutionOutput: "testOutput", - ExecutionTemplate: `{"container":{"command":["echo", "Hello"],"image":"python:3.9"}}`, + ExecutionTemplate: `{"container":{"command":["echo", "Hello"],"image":"python:3.10"}}`, MaxCacheStaleness: -1, } fakeClientManager.CacheStore().CreateExecutionCache(executionCache) @@ -226,7 +226,7 @@ func TestCacheNodeRestriction(t *testing.T) { executionCache := &model.ExecutionCache{ ExecutionCacheKey: "f5fe913be7a4516ebfe1b5de29bcb35edd12ecc776b2f33f10ca19709ea3b2f0", ExecutionOutput: "testOutput", - ExecutionTemplate: `{"container":{"command":["echo", "Hello"],"image":"python:3.9"},"nodeSelector":{"disktype":"ssd"}}`, + ExecutionTemplate: `{"container":{"command":["echo", "Hello"],"image":"python:3.10"},"nodeSelector":{"disktype":"ssd"}}`, MaxCacheStaleness: -1, } fakeClientManager.CacheStore().CreateExecutionCache(executionCache) @@ -241,7 +241,7 @@ func TestMutatePodIfCachedWithTeamplateCleanup(t *testing.T) { executionCache := &model.ExecutionCache{ ExecutionCacheKey: "c81988503d55a5817d79bd972017d95c37f72b024e522b4d79787d9f599c0725", ExecutionOutput: "testOutput", - ExecutionTemplate: `Cache key was calculated from this: {"container":{"command":["echo", "Hello"],"image":"python:3.9"},"outputs":"anything"}`, + ExecutionTemplate: `Cache key was calculated from this: {"container":{"command":["echo", "Hello"],"image":"python:3.10"},"outputs":"anything"}`, MaxCacheStaleness: -1, } fakeClientManager.CacheStore().CreateExecutionCache(executionCache) @@ -253,7 +253,7 @@ func TestMutatePodIfCachedWithTeamplateCleanup(t *testing.T) { "name": "Does not matter", "metadata": "anything", "container": { - "image": "python:3.9", + "image": "python:3.10", "command": ["echo", "Hello"] }, "outputs": "anything", diff --git a/backend/src/crd/kubernetes/v2beta1/pipelineversion_types_test.go b/backend/src/crd/kubernetes/v2beta1/pipelineversion_types_test.go index 41abdc5672e..425f195623d 100644 --- a/backend/src/crd/kubernetes/v2beta1/pipelineversion_types_test.go +++ b/backend/src/crd/kubernetes/v2beta1/pipelineversion_types_test.go @@ -675,7 +675,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef hello_world(msg: str):\n print(msg)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: hello-world root: diff --git a/backend/src/v2/cacheutils/cache_test.go b/backend/src/v2/cacheutils/cache_test.go index 619550be44b..74c9602a239 100644 --- a/backend/src/v2/cacheutils/cache_test.go +++ b/backend/src/v2/cacheutils/cache_test.go @@ -95,7 +95,7 @@ func TestGenerateCacheKey(t *testing.T) { "output_parameter_two": "INT", }, cmdArgs: []string{"sh", "ec", "test"}, - image: "python:3.9", + image: "python:3.10", want: &cachekey.CacheKey{ InputArtifactNames: map[string]*cachekey.ArtifactNameList{ "dataset_one": {ArtifactNames: []string{"1"}}, @@ -129,7 +129,7 @@ func TestGenerateCacheKey(t *testing.T) { }, ContainerSpec: &cachekey.ContainerSpec{ CmdArgs: []string{"sh", "ec", "test"}, - Image: "python:3.9", + Image: "python:3.10", }, }, @@ -183,7 +183,7 @@ func TestGenerateCacheKey(t *testing.T) { "output_parameter_one": "STRING", }, cmdArgs: []string{"sh", "ec", "test"}, - image: "python:3.9", + image: "python:3.10", pvcNames: []string{"workspace-pvc", "data-pvc"}, want: &cachekey.CacheKey{ InputArtifactNames: map[string]*cachekey.ArtifactNameList{ @@ -209,7 +209,7 @@ func TestGenerateCacheKey(t *testing.T) { }, ContainerSpec: &cachekey.ContainerSpec{ CmdArgs: []string{"sh", "ec", "test"}, - Image: "python:3.9", + Image: "python:3.10", PvcNames: []string{"workspace-pvc", "data-pvc"}, }, }, @@ -271,7 +271,7 @@ func TestGenerateFingerPrint(t *testing.T) { }, ContainerSpec: &cachekey.ContainerSpec{ CmdArgs: []string{"sh", "ec", "test"}, - Image: "python:3.9", + Image: "python:3.10", }, } tests := []struct { @@ -315,7 +315,7 @@ func TestGenerateFingerPrint(t *testing.T) { }, ContainerSpec: &cachekey.ContainerSpec{ CmdArgs: []string{"sh", "ec", "test"}, - Image: "python:3.9", + Image: "python:3.10", }, }, wantEqual: true, @@ -331,7 +331,7 @@ func TestGenerateFingerPrint(t *testing.T) { }, ContainerSpec: &cachekey.ContainerSpec{ CmdArgs: []string{"sh", "ec", "run"}, - Image: "python:3.9", + Image: "python:3.10", }, }, wantEqual: false, @@ -362,7 +362,7 @@ func TestGenerateFingerPrint_ConsidersPVCNames(t *testing.T) { }, ContainerSpec: &cachekey.ContainerSpec{ CmdArgs: []string{"sh", "ec", "test"}, - Image: "python:3.9", + Image: "python:3.10", }, } @@ -375,7 +375,7 @@ func TestGenerateFingerPrint_ConsidersPVCNames(t *testing.T) { }, ContainerSpec: &cachekey.ContainerSpec{ CmdArgs: []string{"sh", "ec", "test"}, - Image: "python:3.9", + Image: "python:3.10", PvcNames: []string{"workspace-pvc", "data-pvc"}, }, } @@ -389,7 +389,7 @@ func TestGenerateFingerPrint_ConsidersPVCNames(t *testing.T) { }, ContainerSpec: &cachekey.ContainerSpec{ CmdArgs: []string{"sh", "ec", "test"}, - Image: "python:3.9", + Image: "python:3.10", PvcNames: []string{"workspace-pvc", "data-pvc"}, }, } @@ -403,7 +403,7 @@ func TestGenerateFingerPrint_ConsidersPVCNames(t *testing.T) { }, ContainerSpec: &cachekey.ContainerSpec{ CmdArgs: []string{"sh", "ec", "test"}, - Image: "python:3.9", + Image: "python:3.10", PvcNames: []string{"data-pvc", "workspace-pvc", "extra"}, }, } diff --git a/backend/src/v2/driver/driver_test.go b/backend/src/v2/driver/driver_test.go index 597ec73c8b2..caf25e5ac9b 100644 --- a/backend/src/v2/driver/driver_test.go +++ b/backend/src/v2/driver/driver_test.go @@ -59,7 +59,7 @@ func Test_initPodSpecPatch_acceleratorConfig(t *testing.T) { "Valid - nvidia.com/gpu", args{ &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Args: []string{"--function_to_execute", "add"}, Command: []string{"sh", "-ec", "python3 -m kfp.components.executor_main"}, Resources: &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec{ @@ -100,7 +100,7 @@ func Test_initPodSpecPatch_acceleratorConfig(t *testing.T) { "Valid - amd.com/gpu", args{ &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Args: []string{"--function_to_execute", "add"}, Command: []string{"sh", "-ec", "python3 -m kfp.components.executor_main"}, Resources: &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec{ @@ -141,7 +141,7 @@ func Test_initPodSpecPatch_acceleratorConfig(t *testing.T) { "Valid - cloud-tpus.google.com/v3", args{ &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Args: []string{"--function_to_execute", "add"}, Command: []string{"sh", "-ec", "python3 -m kfp.components.executor_main"}, Resources: &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec{ @@ -182,7 +182,7 @@ func Test_initPodSpecPatch_acceleratorConfig(t *testing.T) { "Valid - cloud-tpus.google.com/v2", args{ &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Args: []string{"--function_to_execute", "add"}, Command: []string{"sh", "-ec", "python3 -m kfp.components.executor_main"}, Resources: &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec{ @@ -223,7 +223,7 @@ func Test_initPodSpecPatch_acceleratorConfig(t *testing.T) { "Valid - custom string", args{ &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Args: []string{"--function_to_execute", "add"}, Command: []string{"sh", "-ec", "python3 -m kfp.components.executor_main"}, Resources: &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec{ @@ -297,7 +297,7 @@ func Test_initPodSpecPatch_acceleratorConfig(t *testing.T) { func Test_initPodSpecPatch_resource_placeholders(t *testing.T) { containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Args: []string{"--function_to_execute", "add"}, Command: []string{"sh", "-ec", "python3 -m kfp.components.executor_main"}, Resources: &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec{ @@ -410,7 +410,7 @@ func Test_initPodSpecPatch_resource_placeholders(t *testing.T) { func Test_initPodSpecPatch_legacy_resources(t *testing.T) { containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Args: []string{"--function_to_execute", "add"}, Command: []string{"sh", "-ec", "python3 -m kfp.components.executor_main"}, Resources: &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec{ @@ -457,7 +457,7 @@ func Test_initPodSpecPatch_legacy_resources(t *testing.T) { func Test_initPodSpecPatch_modelcar_input_artifact(t *testing.T) { containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Args: []string{"--function_to_execute", "add"}, Command: []string{"sh", "-ec", "python3 -m kfp.components.executor_main"}, } @@ -568,7 +568,7 @@ func Test_initPodSpecPatch_resourceRequests(t *testing.T) { "Valid - with requests", args{ &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Args: []string{"--function_to_execute", "add"}, Command: []string{"sh", "-ec", "python3 -m kfp.components.executor_main"}, Resources: &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec{ @@ -606,7 +606,7 @@ func Test_initPodSpecPatch_resourceRequests(t *testing.T) { "Valid - zero requests", args{ &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Args: []string{"--function_to_execute", "add"}, Command: []string{"sh", "-ec", "python3 -m kfp.components.executor_main"}, Resources: &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec{ @@ -679,7 +679,7 @@ func Test_initPodSpecPatch_TaskConfig_ForwardsResourcesOnly(t *testing.T) { proxy.InitializeConfigWithEmptyForTests() containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Args: []string{"--function_to_execute", "add"}, Command: []string{"sh", "-ec", "python3 -m kfp.components.executor_main"}, Resources: &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec{ @@ -731,7 +731,7 @@ func Test_initPodSpecPatch_TaskConfig_ForwardsResourcesOnly(t *testing.T) { func Test_initPodSpecPatch_inputTaskFinalStatus(t *testing.T) { proxy.InitializeConfigWithEmptyForTests() containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Command: []string{"sh", "-ec", "python3 -m kfp.components.executor_main"}, Args: []string{"--executor-input", "{{$}}", "--function_to_execute", "exit-op"}, } @@ -948,7 +948,7 @@ func TestGetWorkspaceMount(t *testing.T) { // Ensure that when workspace is used, missing RunName leads to an error during pod spec init. func Test_initPodSpecPatch_WorkspaceRequiresRunName(t *testing.T) { - containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{Image: "python:3.9"} + containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{Image: "python:3.10"} componentSpec := &pipelinespec.ComponentSpec{} executorInput := &pipelinespec.ExecutorInput{ Inputs: &pipelinespec.ExecutorInput_Inputs{ @@ -1064,7 +1064,7 @@ func TestValidateVolumeMounts(t *testing.T) { } func TestWorkspaceMount_PassthroughVolumes_CaptureOnly(t *testing.T) { - containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{Image: "python:3.9"} + containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{Image: "python:3.10"} componentSpec := &pipelinespec.ComponentSpec{ TaskConfigPassthroughs: []*pipelinespec.TaskConfigPassthrough{ { @@ -1107,7 +1107,7 @@ func TestWorkspaceMount_PassthroughVolumes_CaptureOnly(t *testing.T) { } func TestWorkspaceMount_PassthroughVolumes_ApplyAndCapture(t *testing.T) { - containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{Image: "python:3.9"} + containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{Image: "python:3.10"} componentSpec := &pipelinespec.ComponentSpec{ TaskConfigPassthroughs: []*pipelinespec.TaskConfigPassthrough{ { @@ -1165,7 +1165,7 @@ func TestWorkspaceMount_PassthroughVolumes_ApplyAndCapture(t *testing.T) { func Test_initPodSpecPatch_TaskConfig_Env_Passthrough_CaptureOnly(t *testing.T) { proxy.InitializeConfigWithEmptyForTests() containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Env: []*pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec_EnvVar{{ Name: "FOO", Value: "bar", @@ -1205,7 +1205,7 @@ func Test_initPodSpecPatch_TaskConfig_Env_Passthrough_CaptureOnly(t *testing.T) func Test_initPodSpecPatch_TaskConfig_Resources_Passthrough_ApplyAndCapture(t *testing.T) { proxy.InitializeConfigWithEmptyForTests() containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{ - Image: "python:3.9", + Image: "python:3.10", Args: []string{"--function_to_execute", "add"}, Command: []string{"sh", "-ec", "python3 -m kfp.components.executor_main"}, Resources: &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec_ResourceSpec{ @@ -1258,7 +1258,7 @@ func Test_initPodSpecPatch_TaskConfig_Resources_Passthrough_ApplyAndCapture(t *t func Test_initPodSpecPatch_TaskConfig_Affinity_NodeSelector_Tolerations_Passthrough(t *testing.T) { proxy.InitializeConfigWithEmptyForTests() - containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{Image: "python:3.9"} + containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{Image: "python:3.10"} componentSpec := &pipelinespec.ComponentSpec{ TaskConfigPassthroughs: []*pipelinespec.TaskConfigPassthrough{ {Field: pipelinespec.TaskConfigPassthroughType_KUBERNETES_AFFINITY, ApplyToTask: false}, @@ -1353,7 +1353,7 @@ func Test_initPodSpecPatch_TaskConfig_Affinity_NodeSelector_Tolerations_Passthro func Test_initPodSpecPatch_TaskConfig_Affinity_NodeSelector_Tolerations_ApplyAndCapture(t *testing.T) { proxy.InitializeConfigWithEmptyForTests() - containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{Image: "python:3.9"} + containerSpec := &pipelinespec.PipelineDeploymentConfig_PipelineContainerSpec{Image: "python:3.10"} componentSpec := &pipelinespec.ComponentSpec{ TaskConfigPassthroughs: []*pipelinespec.TaskConfigPassthrough{ {Field: pipelinespec.TaskConfigPassthroughType_KUBERNETES_AFFINITY, ApplyToTask: true}, diff --git a/backend/src/v2/test/Dockerfile b/backend/src/v2/test/Dockerfile index caf7acc9c6a..b1477b5b7e3 100644 --- a/backend/src/v2/test/Dockerfile +++ b/backend/src/v2/test/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM python:3.9-slim +FROM python:3.10-slim WORKDIR /workdir COPY backend/src/v2/test/requirements.txt backend/src/v2/test/ diff --git a/backend/src/v2/test/components/run_sample.yaml b/backend/src/v2/test/components/run_sample.yaml index ceb5f340208..ab8e5dc28bf 100644 --- a/backend/src/v2/test/components/run_sample.yaml +++ b/backend/src/v2/test/components/run_sample.yaml @@ -24,7 +24,7 @@ inputs: - {name: backend_compiler, type: Binary} implementation: container: - image: python:3.9-alpine + image: python:3.10-alpine command: - sh - -exc diff --git a/backend/test/proto_tests/testdata/generated-1791485/.!90490!run_completed_with_spec.pb b/backend/test/proto_tests/testdata/generated-1791485/.!90490!run_completed_with_spec.pb new file mode 100644 index 00000000000..65bf3f28f6b --- /dev/null +++ b/backend/test/proto_tests/testdata/generated-1791485/.!90490!run_completed_with_spec.pb @@ -0,0 +1,4 @@ + +exp-456completed-run-123Production Pipeline Run *1Production pipeline execution for data processingB1 + + diff --git a/backend/test/proto_tests/testdata/generated-1791485/pipeline_version.json b/backend/test/proto_tests/testdata/generated-1791485/pipeline_version.json index cd2c395b4c8..0ca5d67cf61 100644 --- a/backend/test/proto_tests/testdata/generated-1791485/pipeline_version.json +++ b/backend/test/proto_tests/testdata/generated-1791485/pipeline_version.json @@ -34,7 +34,7 @@ "program_path=$(mktemp -d)\n\nprintf \"%s\" \"$0\" > \"$program_path/ephemeral_component.py\"\n_KFP_RUNTIME=true python3 -m kfp.dsl.executor_main --component_module_path \"$program_path/ephemeral_component.py\" \"$@\"\n", "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import *\n\ndef hello_world():\n print(\"hello world\")\n\n" ], - "image": "python:3.9" + "image": "python:3.10" } } } diff --git a/backend/test/proto_tests/testdata/generated-1791485/pipeline_version.pb b/backend/test/proto_tests/testdata/generated-1791485/pipeline_version.pb index 6b6c23e1401..2dfdfcff230 100644 Binary files a/backend/test/proto_tests/testdata/generated-1791485/pipeline_version.pb and b/backend/test/proto_tests/testdata/generated-1791485/pipeline_version.pb differ diff --git a/backend/test/proto_tests/testdata/generated-1791485/run_completed_with_spec.json b/backend/test/proto_tests/testdata/generated-1791485/run_completed_with_spec.json index 0685b66eadd..2410a023739 100644 --- a/backend/test/proto_tests/testdata/generated-1791485/run_completed_with_spec.json +++ b/backend/test/proto_tests/testdata/generated-1791485/run_completed_with_spec.json @@ -29,7 +29,7 @@ "program_path=$(mktemp -d)\n\nprintf \"%s\" \"$0\" > \"$program_path/ephemeral_component.py\"\n_KFP_RUNTIME=true python3 -m kfp.dsl.executor_main --component_module_path \"$program_path/ephemeral_component.py\" \"$@\"\n", "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import *\n\ndef hello_world():\n print(\"hello world\")\n\n" ], - "image": "python:3.9" + "image": "python:3.10" } } } diff --git a/backend/test/proto_tests/testdata/generated-1791485/run_completed_with_spec.pb b/backend/test/proto_tests/testdata/generated-1791485/run_completed_with_spec.pb index cb9a24f070c..8473b255953 100644 Binary files a/backend/test/proto_tests/testdata/generated-1791485/run_completed_with_spec.pb and b/backend/test/proto_tests/testdata/generated-1791485/run_completed_with_spec.pb differ diff --git a/backend/test/proto_tests/testdata/pipelinespec.yaml b/backend/test/proto_tests/testdata/pipelinespec.yaml index 6d16209981b..ce0abb78b9c 100644 --- a/backend/test/proto_tests/testdata/pipelinespec.yaml +++ b/backend/test/proto_tests/testdata/pipelinespec.yaml @@ -32,7 +32,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef hello_world():\n print(\"hello world\")\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-hello-world root: diff --git a/backend/test/resources/v2-hello-world.yaml b/backend/test/resources/v2-hello-world.yaml index 203c205f26b..e73bb5a224c 100644 --- a/backend/test/resources/v2-hello-world.yaml +++ b/backend/test/resources/v2-hello-world.yaml @@ -30,7 +30,7 @@ deploymentSpec: _parsed_args = vars(_parser.parse_args()) _outputs = hello_world(**_parsed_args) - image: python:3.9 + image: python:3.10 pipelineInfo: name: hello-world root: diff --git a/backend/test/v2/resources/pvc-mount.yaml b/backend/test/v2/resources/pvc-mount.yaml index 73137fc1a57..af22320c6c0 100644 --- a/backend/test/v2/resources/pvc-mount.yaml +++ b/backend/test/v2/resources/pvc-mount.yaml @@ -41,7 +41,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef consumer() -> None:\n with open('/data/file.txt', 'r') as\ \ f:\n print(f.read())\n\n" - image: python:3.9 + image: python:3.10 exec-producer: container: args: @@ -71,7 +71,7 @@ deploymentSpec: \ *\n\ndef producer() -> str:\n with open('/data/file.txt', 'w') as f:\n\ \ f.write('hello')\n with open('/data/file.txt', 'r') as f:\n\ \ return f.read()\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pvc-mount-pipeline root: diff --git a/components/kserve/Dockerfile b/components/kserve/Dockerfile index 507003ccf0d..ea969415421 100644 --- a/components/kserve/Dockerfile +++ b/components/kserve/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9-slim-bullseye +FROM python:3.10-slim-bullseye RUN apt-get update && apt-get install -y gcc python3-dev COPY requirements.txt . 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 95a04b85f6f..c9f888dd417 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') @@ -1504,7 +1504,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=[], ) @@ -1527,7 +1527,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]) @@ -2575,7 +2575,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..d42b3de1635 100644 --- a/sdk/python/kfp/components/load_yaml_utilities_test.py +++ b/sdk/python/kfp/components/load_yaml_utilities_test.py @@ -17,6 +17,7 @@ import tempfile import textwrap import unittest +from unittest.mock import patch from kfp import components from kfp.dsl import structures @@ -70,19 +71,6 @@ sdkVersion: kfp-2.0.0-alpha.3 """) -V1_COMPONENTS_TEST_DATA_DIR = os.path.join( - os.path.dirname(os.path.dirname(__file__)), 'compiler', 'test_data', - 'v1_component_yaml') - -V1_COMPONENT_YAML_TEST_CASES = [ - 'concat_placeholder_component.yaml', - 'ingestion_component.yaml', - 'serving_component.yaml', - 'if_placeholder_component.yaml', - 'trainer_component.yaml', - 'add_component.yaml', -] - class LoadYamlTests(unittest.TestCase): @@ -110,18 +98,21 @@ def test_load_component_from_file(self): self.assertEqual( component.component_spec.implementation.container.image, 'alpine') - def test_load_component_from_url(self): - component_url = 'https://raw.githubusercontent.com/kubeflow/pipelines/5d0ace427d55ee04da028cb19613018aed0b2042/sdk/python/test_data/components/identity.yaml' + @patch('kfp.components._python_component._download_yaml_from_url') + def test_load_component_from_url(self, mock_download): + # Mock the URL download to return local SAMPLE_YAML + mock_download.return_value = SAMPLE_YAML + + component_url = 'https://raw.githubusercontent.com/kubeflow/pipelines/fake/path/identity.yaml' component = components.load_component_from_url(component_url) - self.assertEqual(component.component_spec.name, 'identity') + self.assertEqual(component.component_spec.name, 'component-1') self.assertEqual(component.component_spec.outputs, - {'Output': structures.OutputSpec(type='String')}) - self.assertEqual(component._component_inputs, {'value'}) - self.assertEqual(component.name, 'identity') + {'output1': structures.OutputSpec(type='String')}) + self.assertEqual(component._component_inputs, {'input1'}) + self.assertEqual(component.name, 'component-1') self.assertEqual( - component.component_spec.implementation.container.image, - 'python:3.9') + component.component_spec.implementation.container.image, 'alpine') if __name__ == '__main__': diff --git a/sdk/python/kfp/dsl/component_decorator.py b/sdk/python/kfp/dsl/component_decorator.py index 1e1d67b8c56..9b96bb0b91a 100644 --- a/sdk/python/kfp/dsl/component_decorator.py +++ b/sdk/python/kfp/dsl/component_decorator.py @@ -105,7 +105,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 ba469d20f11..d594913cf70 100644 --- a/sdk/python/kfp/dsl/component_factory.py +++ b/sdk/python/kfp/dsl/component_factory.py @@ -39,7 +39,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' @@ -591,7 +591,7 @@ def create_component_from_func( if base_image is None: base_image = _DEFAULT_BASE_IMAGE warnings.warn( - ("The default base_image used by the @dsl.component decorator will switch from 'python:3.9' to 'python:3.10' on Oct 1, 2025. To ensure your existing components work with versions of the KFP SDK released after that date, you should provide an explicit base_image argument and ensure your component works as intended on Python 3.10." + ("The default base_image used by the @dsl.component decorator will switch from 'python:3.10' to 'python:3.10' on Oct 1, 2025. To ensure your existing components work with versions of the KFP SDK released after that date, you should provide an explicit base_image argument and ensure your component works as intended on Python 3.10." ), FutureWarning, stacklevel=2, diff --git a/sdk/python/kfp/dsl/container_component_decorator_test.py b/sdk/python/kfp/dsl/container_component_decorator_test.py index b690fd5e375..dd80be5b014 100644 --- a/sdk/python/kfp/dsl/container_component_decorator_test.py +++ b/sdk/python/kfp/dsl/container_component_decorator_test.py @@ -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/pipeline_task.py b/sdk/python/kfp/dsl/pipeline_task.py index 381899a361a..b1d7fe19ae2 100644 --- a/sdk/python/kfp/dsl/pipeline_task.py +++ b/sdk/python/kfp/dsl/pipeline_task.py @@ -650,7 +650,7 @@ def set_container_image( Pipeline Parameters or outputs from previous tasks, which are resolved at runtime. Args: - name: The container image name as a static string (e.g., "python:3.9-alpine") + name: The container image name as a static string (e.g., "python:3.10-alpine") or a dynamic reference (e.g., a PipelineParameter instance or a task output like `task.outputs['image_name']`). 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 bfd265485fe..2207d6776f6 100755 --- a/sdk/python/kfp/local/docker_task_handler_test.py +++ b/sdk/python/kfp/local/docker_task_handler_test.py @@ -299,7 +299,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/test_data/components/add_numbers.yaml b/sdk/python/test_data/components/add_numbers.yaml index 0e99b8397c5..25b668bc4e5 100644 --- a/sdk/python/test_data/components/add_numbers.yaml +++ b/sdk/python/test_data/components/add_numbers.yaml @@ -47,7 +47,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef add_numbers(a: int, b: int) -> int:\n return a + b\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: add-numbers root: diff --git a/sdk/python/test_data/components/component_with_metadata_fields.yaml b/sdk/python/test_data/components/component_with_metadata_fields.yaml index 23f48eb02e8..6f0c14d4ac2 100644 --- a/sdk/python/test_data/components/component_with_metadata_fields.yaml +++ b/sdk/python/test_data/components/component_with_metadata_fields.yaml @@ -72,7 +72,7 @@ deploymentSpec: \ as f:\n content_b = f.read()\n\n concatenated_string = content_a\ \ + content_b\n with open(out_dataset.path, 'w') as f:\n f.write(concatenated_string)\n\ \n return concatenated_string\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: dataset-joiner root: diff --git a/sdk/python/test_data/components/component_with_pip_install.yaml b/sdk/python/test_data/components/component_with_pip_install.yaml index b557ab3845c..ef57824577e 100644 --- a/sdk/python/test_data/components/component_with_pip_install.yaml +++ b/sdk/python/test_data/components/component_with_pip_install.yaml @@ -35,7 +35,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef component_with_pip_install():\n import yapf\n print(dir(yapf))\n\ \n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: component-with-pip-install root: diff --git a/sdk/python/test_data/components/component_with_pip_install_in_venv.yaml b/sdk/python/test_data/components/component_with_pip_install_in_venv.yaml index 7940bc0a91d..9f5f0e57320 100644 --- a/sdk/python/test_data/components/component_with_pip_install_in_venv.yaml +++ b/sdk/python/test_data/components/component_with_pip_install_in_venv.yaml @@ -38,7 +38,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef component_with_pip_install():\n import yapf\n\n print(dir(yapf))\n\ \n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: component-with-pip-install root: diff --git a/sdk/python/test_data/components/component_with_task_final_status.yaml b/sdk/python/test_data/components/component_with_task_final_status.yaml index df1db097899..75d6e8ed99e 100644 --- a/sdk/python/test_data/components/component_with_task_final_status.yaml +++ b/sdk/python/test_data/components/component_with_task_final_status.yaml @@ -40,7 +40,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef exit_comp(status: dsl.PipelineTaskFinalStatus):\n print(status)\n\ \n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: exit-comp root: diff --git a/sdk/python/test_data/components/concat_message.yaml b/sdk/python/test_data/components/concat_message.yaml index 63542f20713..6863f37c145 100644 --- a/sdk/python/test_data/components/concat_message.yaml +++ b/sdk/python/test_data/components/concat_message.yaml @@ -48,7 +48,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef concat_message(message1: str, message2: str) -> str:\n return\ \ message1 + message2\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: concat-message root: diff --git a/sdk/python/test_data/components/container_io.py b/sdk/python/test_data/components/container_io.py index 294de386d7d..d911e17caaa 100644 --- a/sdk/python/test_data/components/container_io.py +++ b/sdk/python/test_data/components/container_io.py @@ -19,7 +19,7 @@ @container_component def container_io(text: str, output_path: OutputPath(str)): return ContainerSpec( - image='python:3.9', + image='python:3.10', command=['my_program', text], args=['--output_path', output_path]) diff --git a/sdk/python/test_data/components/container_io.yaml b/sdk/python/test_data/components/container_io.yaml index 2f0e6a2cd6c..551e92ef6e4 100644 --- a/sdk/python/test_data/components/container_io.yaml +++ b/sdk/python/test_data/components/container_io.yaml @@ -25,7 +25,7 @@ deploymentSpec: command: - my_program - '{{$.inputs.parameters[''text'']}}' - image: python:3.9 + image: python:3.10 pipelineInfo: name: container-io root: diff --git a/sdk/python/test_data/components/container_no_input.py b/sdk/python/test_data/components/container_no_input.py index f4f1fb526d0..a734a347cb7 100644 --- a/sdk/python/test_data/components/container_no_input.py +++ b/sdk/python/test_data/components/container_no_input.py @@ -18,7 +18,7 @@ @container_component def container_no_input(): return ContainerSpec( - image='python:3.9', + image='python:3.10', command=['echo', 'hello world'], args=[], ) diff --git a/sdk/python/test_data/components/container_no_input.yaml b/sdk/python/test_data/components/container_no_input.yaml index 44d21e33edc..42ec98c4d60 100644 --- a/sdk/python/test_data/components/container_no_input.yaml +++ b/sdk/python/test_data/components/container_no_input.yaml @@ -10,7 +10,7 @@ deploymentSpec: command: - echo - hello world - image: python:3.9 + image: python:3.10 pipelineInfo: name: container-no-input root: diff --git a/sdk/python/test_data/components/container_with_concat_placeholder.py b/sdk/python/test_data/components/container_with_concat_placeholder.py index e3da70a3851..f3fc579f0e6 100644 --- a/sdk/python/test_data/components/container_with_concat_placeholder.py +++ b/sdk/python/test_data/components/container_with_concat_placeholder.py @@ -23,7 +23,7 @@ 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]) diff --git a/sdk/python/test_data/components/container_with_concat_placeholder.yaml b/sdk/python/test_data/components/container_with_concat_placeholder.yaml index 3e3258479de..c14d37b67ef 100644 --- a/sdk/python/test_data/components/container_with_concat_placeholder.yaml +++ b/sdk/python/test_data/components/container_with_concat_placeholder.yaml @@ -31,7 +31,7 @@ deploymentSpec: command: - my_program - '{"Concat": ["prefix-", "{{$.inputs.parameters[''text1'']}}", "{{$.outputs.artifacts[''text2''].uri}}"]}' - image: python:3.9 + image: python:3.10 pipelineInfo: name: container-with-concat-placeholder root: diff --git a/sdk/python/test_data/components/container_with_if_placeholder.py b/sdk/python/test_data/components/container_with_if_placeholder.py index 7b21edc3e47..231e033c925 100644 --- a/sdk/python/test_data/components/container_with_if_placeholder.py +++ b/sdk/python/test_data/components/container_with_if_placeholder.py @@ -24,7 +24,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/test_data/components/container_with_if_placeholder.yaml b/sdk/python/test_data/components/container_with_if_placeholder.yaml index 43b21ed7cb0..865aec375fe 100644 --- a/sdk/python/test_data/components/container_with_if_placeholder.yaml +++ b/sdk/python/test_data/components/container_with_if_placeholder.yaml @@ -37,7 +37,7 @@ deploymentSpec: - --dataset - '{"IfPresent": {"InputName": "optional_input", "Then": ["{{$.outputs.artifacts[''dataset''].uri}}"], "Else": ["bye"]}}' - image: python:3.9 + image: python:3.10 pipelineInfo: name: container-with-if-placeholder root: diff --git a/sdk/python/test_data/components/container_with_placeholder_in_fstring.py b/sdk/python/test_data/components/container_with_placeholder_in_fstring.py index e5bc2f5cb0b..19262b90e12 100644 --- a/sdk/python/test_data/components/container_with_placeholder_in_fstring.py +++ b/sdk/python/test_data/components/container_with_placeholder_in_fstring.py @@ -24,7 +24,7 @@ def container_with_placeholder_in_fstring( text1: str = 'text!', ): return ContainerSpec( - image='python:3.9', + image='python:3.10', command=[ 'my_program', f'prefix-{text1}', diff --git a/sdk/python/test_data/components/container_with_placeholder_in_fstring.yaml b/sdk/python/test_data/components/container_with_placeholder_in_fstring.yaml index ac17854c778..dd5c1050c34 100644 --- a/sdk/python/test_data/components/container_with_placeholder_in_fstring.yaml +++ b/sdk/python/test_data/components/container_with_placeholder_in_fstring.yaml @@ -27,7 +27,7 @@ deploymentSpec: - my_program - prefix-{{$.inputs.parameters['text1']}} - '{{$.outputs.artifacts[''output_artifact''].uri}}/0' - image: python:3.9 + image: python:3.10 pipelineInfo: name: container-with-placeholder-in-fstring root: diff --git a/sdk/python/test_data/components/containerized_python_component.py b/sdk/python/test_data/components/containerized_python_component.py index e32d4ad454c..3de1b8cfaad 100644 --- a/sdk/python/test_data/components/containerized_python_component.py +++ b/sdk/python/test_data/components/containerized_python_component.py @@ -14,7 +14,7 @@ from kfp import dsl -@dsl.component(base_image='python:3.9', target_image='kfp-image') +@dsl.component(base_image='python:3.10', target_image='kfp-image') def concat_message(message1: str, message2: str) -> str: return message1 + message2 diff --git a/sdk/python/test_data/components/dict_input.yaml b/sdk/python/test_data/components/dict_input.yaml index 9667a03de5c..1bc0eea0dc4 100644 --- a/sdk/python/test_data/components/dict_input.yaml +++ b/sdk/python/test_data/components/dict_input.yaml @@ -38,7 +38,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef dict_input(struct: Dict):\n print(struct)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: dict-input root: diff --git a/sdk/python/test_data/components/identity.yaml b/sdk/python/test_data/components/identity.yaml index 8ba2a6542d4..7c551f8f72b 100644 --- a/sdk/python/test_data/components/identity.yaml +++ b/sdk/python/test_data/components/identity.yaml @@ -44,7 +44,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef identity(value: str) -> str:\n return value\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: identity root: diff --git a/sdk/python/test_data/components/input_artifact.yaml b/sdk/python/test_data/components/input_artifact.yaml index 171d9e45f5d..b368959d063 100644 --- a/sdk/python/test_data/components/input_artifact.yaml +++ b/sdk/python/test_data/components/input_artifact.yaml @@ -41,7 +41,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef input_artifact(data: Input[Dataset]):\n print(data.name)\n\ \ print(data.uri)\n print(data.metadata)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: input-artifact root: diff --git a/sdk/python/test_data/components/nested_return.yaml b/sdk/python/test_data/components/nested_return.yaml index 7b7ad0ca949..84737208efb 100644 --- a/sdk/python/test_data/components/nested_return.yaml +++ b/sdk/python/test_data/components/nested_return.yaml @@ -39,7 +39,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef nested_return() -> List[Dict[str, str]]:\n return [{'A_a':\ \ '1', 'B_b': '2'}, {'A_a': '10', 'B_b': '20'}]\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: nested-return root: diff --git a/sdk/python/test_data/components/output_metrics.yaml b/sdk/python/test_data/components/output_metrics.yaml index b3d92372659..ba8a30aa8b9 100644 --- a/sdk/python/test_data/components/output_metrics.yaml +++ b/sdk/python/test_data/components/output_metrics.yaml @@ -44,7 +44,7 @@ deploymentSpec: \ that outputs metrics with a random accuracy.\"\"\"\n import random\n\ \ result = random.randint(0, 100)\n metrics.log_metric('accuracy',\ \ result)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: output-metrics root: diff --git a/sdk/python/test_data/components/preprocess.yaml b/sdk/python/test_data/components/preprocess.yaml index b1d19e856c9..f679dbcd559 100644 --- a/sdk/python/test_data/components/preprocess.yaml +++ b/sdk/python/test_data/components/preprocess.yaml @@ -97,7 +97,7 @@ deploymentSpec: \ 'w') as f:\n f.write(json.dumps(input_dict_parameter))\n\n with\ \ open(output_list_parameter_path, 'w') as f:\n f.write(json.dumps(input_list_parameter))\n\ \n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: preprocess root: diff --git a/sdk/python/test_data/pipelines/component_with_optional_inputs.yaml b/sdk/python/test_data/pipelines/component_with_optional_inputs.yaml index 6371d3a1bad..663a059636d 100644 --- a/sdk/python/test_data/pipelines/component_with_optional_inputs.yaml +++ b/sdk/python/test_data/pipelines/component_with_optional_inputs.yaml @@ -48,7 +48,7 @@ deploymentSpec: \ {input1}, type: {type(input1)}')\n print(f'input2: {input2}, type:\ \ {type(input2)}')\n print(f'input3: {input3}, type: {type(input3)}')\n\ \n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: v2-component-optional-input root: diff --git a/sdk/python/test_data/pipelines/component_with_pip_index_urls.yaml b/sdk/python/test_data/pipelines/component_with_pip_index_urls.yaml index 7d9c40ff069..47bf9d7a3c4 100644 --- a/sdk/python/test_data/pipelines/component_with_pip_index_urls.yaml +++ b/sdk/python/test_data/pipelines/component_with_pip_index_urls.yaml @@ -34,7 +34,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef component_op():\n import yapf\n print(dir(yapf))\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: v2-component-pip-index-urls root: diff --git a/sdk/python/test_data/pipelines/components_with_optional_artifacts.yaml b/sdk/python/test_data/pipelines/components_with_optional_artifacts.yaml index 7c26da3042c..131ad0cde2b 100644 --- a/sdk/python/test_data/pipelines/components_with_optional_artifacts.yaml +++ b/sdk/python/test_data/pipelines/components_with_optional_artifacts.yaml @@ -144,7 +144,7 @@ deploymentSpec: \ None):\n if artifact is not None:\n print(artifact.name)\n \ \ print(artifact.uri)\n print(artifact.metadata)\n else:\n\ \ print('No artifact provided!')\n\n" - image: python:3.9 + image: python:3.10 exec-python-artifact-printer-2: container: args: @@ -175,7 +175,7 @@ deploymentSpec: \ None):\n if artifact is not None:\n print(artifact.name)\n \ \ print(artifact.uri)\n print(artifact.metadata)\n else:\n\ \ print('No artifact provided!')\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: optional-artifact-pipeline root: diff --git a/sdk/python/test_data/pipelines/container_component_with_no_inputs.py b/sdk/python/test_data/pipelines/container_component_with_no_inputs.py index da0c8e78735..489edf78cf5 100644 --- a/sdk/python/test_data/pipelines/container_component_with_no_inputs.py +++ b/sdk/python/test_data/pipelines/container_component_with_no_inputs.py @@ -19,7 +19,7 @@ @dsl.container_component def hello_world_container(): return dsl.ContainerSpec( - image='python:3.9', + image='python:3.10', command=['echo', 'hello world'], args=[], ) diff --git a/sdk/python/test_data/pipelines/container_component_with_no_inputs.yaml b/sdk/python/test_data/pipelines/container_component_with_no_inputs.yaml index 7c2f0f3aed4..add98005d0b 100644 --- a/sdk/python/test_data/pipelines/container_component_with_no_inputs.yaml +++ b/sdk/python/test_data/pipelines/container_component_with_no_inputs.yaml @@ -10,7 +10,7 @@ deploymentSpec: command: - echo - hello world - image: python:3.9 + image: python:3.10 pipelineInfo: name: v2-container-component-no-input root: diff --git a/sdk/python/test_data/pipelines/cross_loop_after_topology.yaml b/sdk/python/test_data/pipelines/cross_loop_after_topology.yaml index e1e2cf0d384..d277ac219ea 100644 --- a/sdk/python/test_data/pipelines/cross_loop_after_topology.yaml +++ b/sdk/python/test_data/pipelines/cross_loop_after_topology.yaml @@ -233,7 +233,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(message: str):\n print(message)\n\n" - image: python:3.9 + image: python:3.10 exec-print-op-2: container: args: @@ -261,7 +261,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(message: str):\n print(message)\n\n" - image: python:3.9 + image: python:3.10 exec-print-op-3: container: args: @@ -289,7 +289,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(message: str):\n print(message)\n\n" - image: python:3.9 + image: python:3.10 exec-print-op-4: container: args: @@ -317,7 +317,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(message: str):\n print(message)\n\n" - image: python:3.9 + image: python:3.10 exec-print-op-5: container: args: @@ -345,7 +345,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(message: str):\n print(message)\n\n" - image: python:3.9 + image: python:3.10 exec-print-op-6: container: args: @@ -373,7 +373,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(message: str):\n print(message)\n\n" - image: python:3.9 + image: python:3.10 exec-print-op-7: container: args: @@ -401,7 +401,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(message: str):\n print(message)\n\n" - image: python:3.9 + image: python:3.10 exec-print-op-8: container: args: @@ -429,7 +429,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(message: str):\n print(message)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: my-pipeline root: diff --git a/sdk/python/test_data/pipelines/if_elif_else_complex.yaml b/sdk/python/test_data/pipelines/if_elif_else_complex.yaml index 493768be9d8..3ca0279a054 100644 --- a/sdk/python/test_data/pipelines/if_elif_else_complex.yaml +++ b/sdk/python/test_data/pipelines/if_elif_else_complex.yaml @@ -712,7 +712,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef int_0_to_9999() -> int:\n import random\n return random.randint(0,\ \ 9999)\n\n" - image: python:3.9 + image: python:3.10 exec-is-even-or-odd: container: args: @@ -741,7 +741,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef is_even_or_odd(num: int) -> str:\n return 'odd' if num % 2\ \ else 'even'\n\n" - image: python:3.9 + image: python:3.10 exec-is-even-or-odd-2: container: args: @@ -770,7 +770,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef is_even_or_odd(num: int) -> str:\n return 'odd' if num % 2\ \ else 'even'\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return: container: args: @@ -799,7 +799,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return-2: container: args: @@ -828,7 +828,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return-3: container: args: @@ -857,7 +857,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return-4: container: args: @@ -886,7 +886,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return-5: container: args: @@ -915,7 +915,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return-6: container: args: @@ -944,7 +944,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return-7: container: args: @@ -973,7 +973,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return-8: container: args: @@ -1002,7 +1002,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return-9: container: args: @@ -1031,7 +1031,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-print-ints: container: args: @@ -1059,7 +1059,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_ints(ints: List[int]):\n print(ints)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: lucky-number-pipeline root: diff --git a/sdk/python/test_data/pipelines/if_elif_else_with_oneof_parameters.yaml b/sdk/python/test_data/pipelines/if_elif_else_with_oneof_parameters.yaml index 173c837aa57..46fec4b5919 100644 --- a/sdk/python/test_data/pipelines/if_elif_else_with_oneof_parameters.yaml +++ b/sdk/python/test_data/pipelines/if_elif_else_with_oneof_parameters.yaml @@ -261,7 +261,7 @@ deploymentSpec: \ random.randint(0, 2)\n\n if val == 0:\n return 'heads'\n \ \ elif val == 1:\n return 'tails'\n else:\n return 'draw'\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-and-return: container: args: @@ -290,7 +290,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return-2: container: args: @@ -319,7 +319,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return-3: container: args: @@ -348,7 +348,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-special-print-and-return: container: args: @@ -378,7 +378,7 @@ deploymentSpec: \ *\n\ndef special_print_and_return(text: str, output_key: dsl.OutputPath(str)):\n\ \ print('Got the special state:', text)\n with open(output_key, 'w')\ \ as f:\n f.write(text)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: outer-pipeline root: diff --git a/sdk/python/test_data/pipelines/if_else_with_oneof_artifacts.yaml b/sdk/python/test_data/pipelines/if_else_with_oneof_artifacts.yaml index b5a69b2e988..cec153c0f36 100644 --- a/sdk/python/test_data/pipelines/if_else_with_oneof_artifacts.yaml +++ b/sdk/python/test_data/pipelines/if_else_with_oneof_artifacts.yaml @@ -232,7 +232,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef flip_coin() -> str:\n import random\n return 'heads' if\ \ random.randint(0, 1) == 0 else 'tails'\n\n" - image: python:3.9 + image: python:3.10 exec-param-to-artifact: container: args: @@ -261,7 +261,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef param_to_artifact(val: str, a: Output[Artifact]):\n with open(a.path,\ \ 'w') as f:\n f.write(val)\n\n" - image: python:3.9 + image: python:3.10 exec-param-to-artifact-2: container: args: @@ -290,7 +290,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef param_to_artifact(val: str, a: Output[Artifact]):\n with open(a.path,\ \ 'w') as f:\n f.write(val)\n\n" - image: python:3.9 + image: python:3.10 exec-print-artifact: container: args: @@ -319,7 +319,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_artifact(a: Input[Artifact]):\n with open(a.path) as\ \ f:\n print(f.read())\n\n" - image: python:3.9 + image: python:3.10 exec-print-artifact-2: container: args: @@ -348,7 +348,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_artifact(a: Input[Artifact]):\n with open(a.path) as\ \ f:\n print(f.read())\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: outer-pipeline root: diff --git a/sdk/python/test_data/pipelines/if_else_with_oneof_parameters.yaml b/sdk/python/test_data/pipelines/if_else_with_oneof_parameters.yaml index 18e1cb935ef..647d61e1069 100644 --- a/sdk/python/test_data/pipelines/if_else_with_oneof_parameters.yaml +++ b/sdk/python/test_data/pipelines/if_else_with_oneof_parameters.yaml @@ -171,7 +171,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef flip_coin() -> str:\n import random\n return 'heads' if\ \ random.randint(0, 1) == 0 else 'tails'\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return: container: args: @@ -200,7 +200,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return-2: container: args: @@ -229,7 +229,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 exec-print-and-return-3: container: args: @@ -258,7 +258,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_and_return(text: str) -> str:\n print(text)\n return\ \ text\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: flip-coin-pipeline root: diff --git a/sdk/python/test_data/pipelines/lightweight_python_functions_pipeline.yaml b/sdk/python/test_data/pipelines/lightweight_python_functions_pipeline.yaml index 90125fbe3a1..5cb29005203 100644 --- a/sdk/python/test_data/pipelines/lightweight_python_functions_pipeline.yaml +++ b/sdk/python/test_data/pipelines/lightweight_python_functions_pipeline.yaml @@ -119,7 +119,7 @@ deploymentSpec: \ 'w') as f:\n f.write(json.dumps(input_dict_parameter))\n\n with\ \ open(output_list_parameter_path, 'w') as f:\n f.write(json.dumps(input_list_parameter))\n\ \n" - image: python:3.9 + image: python:3.10 exec-train: container: args: @@ -170,7 +170,7 @@ deploymentSpec: \ {i}\\n{line}\\n=====\\n')\n\n # model is an instance of Model artifact,\ \ which has a .metadata dictionary\n # to store arbitrary metadata for\ \ the output artifact.\n model.metadata['accuracy'] = 0.9\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: my-test-pipeline-beta root: diff --git a/sdk/python/test_data/pipelines/lightweight_python_functions_with_outputs.yaml b/sdk/python/test_data/pipelines/lightweight_python_functions_with_outputs.yaml index 8ea9edeba37..50f9466cdec 100644 --- a/sdk/python/test_data/pipelines/lightweight_python_functions_with_outputs.yaml +++ b/sdk/python/test_data/pipelines/lightweight_python_functions_with_outputs.yaml @@ -95,7 +95,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef add_numbers(first: int, second: int) -> int:\n return first\ \ + second\n\n" - image: python:3.9 + image: python:3.10 exec-concat-message: container: args: @@ -124,7 +124,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef concat_message(first: str, second: str) -> str:\n return first\ \ + second\n\n" - image: python:3.9 + image: python:3.10 exec-output-artifact: container: args: @@ -153,7 +153,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef output_artifact(number: int, message: str) -> Dataset:\n result\ \ = [message for _ in range(number)]\n return '\\n'.join(result)\n\n" - image: python:3.9 + image: python:3.10 exec-output-named-tuple: container: args: @@ -189,7 +189,7 @@ deploymentSpec: \ = 'Model contents: ' + artifact_contents\n\n from collections import\ \ namedtuple\n output = namedtuple('Outputs', ['scalar', 'metrics', 'model'])\n\ \ return output(scalar, metrics, model)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: functions-with-outputs root: diff --git a/sdk/python/test_data/pipelines/parallelfor_fan_in/artifacts_complex.yaml b/sdk/python/test_data/pipelines/parallelfor_fan_in/artifacts_complex.yaml index 025fcdca641..317bd8c43e0 100644 --- a/sdk/python/test_data/pipelines/parallelfor_fan_in/artifacts_complex.yaml +++ b/sdk/python/test_data/pipelines/parallelfor_fan_in/artifacts_complex.yaml @@ -304,7 +304,7 @@ deploymentSpec: \ with open(dataset.path) as f:\n nums.append(int(f.read()))\n\ \ with open(out_dataset.path, 'w') as f:\n f.write(str(sum(nums)))\n\ \n" - image: python:3.9 + image: python:3.10 exec-add-2: container: args: @@ -336,7 +336,7 @@ deploymentSpec: \ with open(dataset.path) as f:\n nums.append(int(f.read()))\n\ \ with open(out_dataset.path, 'w') as f:\n f.write(str(sum(nums)))\n\ \n" - image: python:3.9 + image: python:3.10 exec-add-two-ints: container: args: @@ -368,7 +368,7 @@ deploymentSpec: \ as f:\n in_dataset1 = int(f.read())\n\n with open(in_dataset2.path)\ \ as f:\n in_dataset2 = int(f.read())\n\n with open(out_dataset.path,\ \ 'w') as f:\n f.write(str(in_dataset1 + in_dataset2))\n\n" - image: python:3.9 + image: python:3.10 exec-double: container: args: @@ -398,7 +398,7 @@ deploymentSpec: \ *\n\ndef double(\n num: int,\n out_dataset: Output[Dataset],\n):\n\ \ with open(out_dataset.path, 'w') as f:\n f.write(str(2 * num))\n\ \n" - image: python:3.9 + image: python:3.10 exec-double-2: container: args: @@ -428,7 +428,7 @@ deploymentSpec: \ *\n\ndef double(\n num: int,\n out_dataset: Output[Dataset],\n):\n\ \ with open(out_dataset.path, 'w') as f:\n f.write(str(2 * num))\n\ \n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: math-pipeline root: diff --git a/sdk/python/test_data/pipelines/parallelfor_fan_in/artifacts_simple.py b/sdk/python/test_data/pipelines/parallelfor_fan_in/artifacts_simple.py index 04910311de0..ca28419da35 100644 --- a/sdk/python/test_data/pipelines/parallelfor_fan_in/artifacts_simple.py +++ b/sdk/python/test_data/pipelines/parallelfor_fan_in/artifacts_simple.py @@ -28,7 +28,7 @@ def add(in_datasets: Input[List[Dataset]], out_dataset: Output[Dataset]): def add_container(in_datasets: Input[List[Dataset]], out_dataset: Output[Dataset]): return dsl.ContainerSpec( - image='python:3.9', + image='python:3.10', command=['python', '-c'], args=[ textwrap.dedent(""" diff --git a/sdk/python/test_data/pipelines/parallelfor_fan_in/artifacts_simple.yaml b/sdk/python/test_data/pipelines/parallelfor_fan_in/artifacts_simple.yaml index cfc411f1110..2fd2baa92ac 100644 --- a/sdk/python/test_data/pipelines/parallelfor_fan_in/artifacts_simple.yaml +++ b/sdk/python/test_data/pipelines/parallelfor_fan_in/artifacts_simple.yaml @@ -108,7 +108,7 @@ deploymentSpec: \ nums = []\n for dataset in in_datasets:\n with open(dataset.path)\ \ as f:\n nums.append(int(f.read()))\n with open(out_dataset.path,\ \ 'w') as f:\n f.write(str(sum(nums)))\n\n" - image: python:3.9 + image: python:3.10 exec-add-container: container: args: @@ -125,7 +125,7 @@ deploymentSpec: command: - python - -c - image: python:3.9 + image: python:3.10 exec-double: container: args: @@ -154,7 +154,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef double(num: int, out_dataset: Output[Dataset]):\n with open(out_dataset.path,\ \ 'w') as f:\n f.write(str(2 * num))\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: math-pipeline root: diff --git a/sdk/python/test_data/pipelines/parallelfor_fan_in/conditional_producer_and_consumers.yaml b/sdk/python/test_data/pipelines/parallelfor_fan_in/conditional_producer_and_consumers.yaml index 4bd04068b5f..ef4cff391ed 100644 --- a/sdk/python/test_data/pipelines/parallelfor_fan_in/conditional_producer_and_consumers.yaml +++ b/sdk/python/test_data/pipelines/parallelfor_fan_in/conditional_producer_and_consumers.yaml @@ -147,7 +147,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef add(nums: List[int]) -> int:\n return sum(nums)\n\n" - image: python:3.9 + image: python:3.10 exec-double: container: args: @@ -175,7 +175,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef double(num: int) -> int:\n return 2 * num\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: math-pipeline root: diff --git a/sdk/python/test_data/pipelines/parallelfor_fan_in/nested_with_parameters.yaml b/sdk/python/test_data/pipelines/parallelfor_fan_in/nested_with_parameters.yaml index 22e7dcae061..06a708231aa 100644 --- a/sdk/python/test_data/pipelines/parallelfor_fan_in/nested_with_parameters.yaml +++ b/sdk/python/test_data/pipelines/parallelfor_fan_in/nested_with_parameters.yaml @@ -166,7 +166,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef add(nums: List[List[int]]) -> int:\n import itertools\n \ \ return sum(itertools.chain(*nums))\n\n" - image: python:3.9 + image: python:3.10 exec-add-two-nums: container: args: @@ -194,7 +194,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef add_two_nums(x: int, y: int) -> int:\n return x + y\n\n" - image: python:3.9 + image: python:3.10 exec-double: container: args: @@ -222,7 +222,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef double(num: int) -> int:\n return 2 * num\n\n" - image: python:3.9 + image: python:3.10 exec-double-2: container: args: @@ -250,7 +250,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef double(num: int) -> int:\n return 2 * num\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: math-pipeline root: diff --git a/sdk/python/test_data/pipelines/parallelfor_fan_in/parameters_complex.yaml b/sdk/python/test_data/pipelines/parallelfor_fan_in/parameters_complex.yaml index dc51f30a8af..706c3931e6f 100644 --- a/sdk/python/test_data/pipelines/parallelfor_fan_in/parameters_complex.yaml +++ b/sdk/python/test_data/pipelines/parallelfor_fan_in/parameters_complex.yaml @@ -240,7 +240,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef add_two_numbers(x: List[int], y: List[int]) -> int:\n return\ \ sum(x) + sum(y)\n\n" - image: python:3.9 + image: python:3.10 exec-double: container: args: @@ -268,7 +268,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef double(num: int) -> int:\n return 2 * num\n\n" - image: python:3.9 + image: python:3.10 exec-double-2: container: args: @@ -296,7 +296,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef double(num: int) -> int:\n return 2 * num\n\n" - image: python:3.9 + image: python:3.10 exec-nested-add: container: args: @@ -325,7 +325,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef nested_add(nums: List[List[int]]) -> int:\n import itertools\n\ \ return sum(itertools.chain(*nums))\n\n" - image: python:3.9 + image: python:3.10 exec-nested-add-2: container: args: @@ -354,7 +354,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef nested_add(nums: List[List[int]]) -> int:\n import itertools\n\ \ return sum(itertools.chain(*nums))\n\n" - image: python:3.9 + image: python:3.10 exec-simple-add: container: args: @@ -382,7 +382,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef simple_add(nums: List[int]) -> int:\n return sum(nums)\n\n" - image: python:3.9 + image: python:3.10 exec-simple-add-2: container: args: @@ -410,7 +410,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef simple_add(nums: List[int]) -> int:\n return sum(nums)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: math-pipeline root: diff --git a/sdk/python/test_data/pipelines/parallelfor_fan_in/parameters_simple.yaml b/sdk/python/test_data/pipelines/parallelfor_fan_in/parameters_simple.yaml index bdfb3455ccd..0b709ba01bb 100644 --- a/sdk/python/test_data/pipelines/parallelfor_fan_in/parameters_simple.yaml +++ b/sdk/python/test_data/pipelines/parallelfor_fan_in/parameters_simple.yaml @@ -90,7 +90,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef add(nums: List[int]) -> int:\n return sum(nums)\n\n" - image: python:3.9 + image: python:3.10 exec-add-container: container: args: @@ -128,7 +128,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef double(num: int) -> int:\n return 2 * num\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: math-pipeline root: diff --git a/sdk/python/test_data/pipelines/parallelfor_fan_in/pipeline_producer_consumer.yaml b/sdk/python/test_data/pipelines/parallelfor_fan_in/pipeline_producer_consumer.yaml index c256be6fd1f..4d414e6abc8 100644 --- a/sdk/python/test_data/pipelines/parallelfor_fan_in/pipeline_producer_consumer.yaml +++ b/sdk/python/test_data/pipelines/parallelfor_fan_in/pipeline_producer_consumer.yaml @@ -222,7 +222,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef add(nums: List[List[int]]) -> int:\n import itertools\n \ \ return sum(itertools.chain(*nums))\n\n" - image: python:3.9 + image: python:3.10 exec-double: container: args: @@ -250,7 +250,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef double(num: int) -> int:\n return 2 * num\n\n" - image: python:3.9 + image: python:3.10 exec-echo-and-return: container: args: @@ -279,7 +279,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef echo_and_return(string: str) -> str:\n print(string)\n \ \ return string\n\n" - image: python:3.9 + image: python:3.10 exec-join-and-print: container: args: @@ -308,7 +308,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef join_and_print(strings: List[str]):\n print(''.join(strings))\n\ \n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: math-pipeline root: diff --git a/sdk/python/test_data/pipelines/pipeline_as_exit_task.yaml b/sdk/python/test_data/pipelines/pipeline_as_exit_task.yaml index cd46e8944e6..1b1e888615b 100644 --- a/sdk/python/test_data/pipelines/pipeline_as_exit_task.yaml +++ b/sdk/python/test_data/pipelines/pipeline_as_exit_task.yaml @@ -145,7 +145,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-get-run-state: container: args: @@ -174,7 +174,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef get_run_state(status: dict) -> str:\n print('Pipeline status:\ \ ', status)\n return status['state']\n\n" - image: python:3.9 + image: python:3.10 exec-print-op: container: args: @@ -203,7 +203,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 exec-print-op-2: container: args: @@ -232,7 +232,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-conditional root: diff --git a/sdk/python/test_data/pipelines/pipeline_in_pipeline.yaml b/sdk/python/test_data/pipelines/pipeline_in_pipeline.yaml index e834e1464d1..0584809a4db 100644 --- a/sdk/python/test_data/pipelines/pipeline_in_pipeline.yaml +++ b/sdk/python/test_data/pipelines/pipeline_in_pipeline.yaml @@ -90,7 +90,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op1(msg: str) -> str:\n print(msg)\n return msg\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op1-2: container: args: @@ -119,7 +119,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op1(msg: str) -> str:\n print(msg)\n return msg\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op2: container: command: diff --git a/sdk/python/test_data/pipelines/pipeline_in_pipeline_complex.yaml b/sdk/python/test_data/pipelines/pipeline_in_pipeline_complex.yaml index ab21acdae24..062d09b58f4 100644 --- a/sdk/python/test_data/pipelines/pipeline_in_pipeline_complex.yaml +++ b/sdk/python/test_data/pipelines/pipeline_in_pipeline_complex.yaml @@ -177,7 +177,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op1(msg: str) -> str:\n print(msg)\n return msg\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op1-2: container: args: @@ -206,7 +206,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op1(msg: str) -> str:\n print(msg)\n return msg\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op2: container: command: diff --git a/sdk/python/test_data/pipelines/pipeline_in_pipeline_loaded_from_yaml.yaml b/sdk/python/test_data/pipelines/pipeline_in_pipeline_loaded_from_yaml.yaml index 2b6012ef69a..772eb52901b 100644 --- a/sdk/python/test_data/pipelines/pipeline_in_pipeline_loaded_from_yaml.yaml +++ b/sdk/python/test_data/pipelines/pipeline_in_pipeline_loaded_from_yaml.yaml @@ -168,7 +168,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op1(msg: str) -> str:\n print(msg)\n return msg\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op1-2: container: args: @@ -197,7 +197,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op1(msg: str) -> str:\n print(msg)\n return msg\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op1-3: container: args: @@ -226,7 +226,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op1(data: Input[Artifact]):\n with open(data.path, 'r')\ \ as f:\n print(f.read())\n\n" - image: python:3.9 + image: python:3.10 exec-print-op2: container: args: diff --git a/sdk/python/test_data/pipelines/pipeline_with_condition.yaml b/sdk/python/test_data/pipelines/pipeline_with_condition.yaml index cde3fade692..1e4234e2718 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_condition.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_condition.yaml @@ -105,7 +105,7 @@ deploymentSpec: \ *\n\ndef flip_coin_op() -> str:\n \"\"\"Flip a coin and output heads\ \ or tails randomly.\"\"\"\n import random\n result = 'heads' if random.randint(0,\ \ 1) == 0 else 'tails'\n return result\n\n" - image: python:3.9 + image: python:3.10 exec-flip-coin-op-2: container: args: @@ -135,7 +135,7 @@ deploymentSpec: \ *\n\ndef flip_coin_op() -> str:\n \"\"\"Flip a coin and output heads\ \ or tails randomly.\"\"\"\n import random\n result = 'heads' if random.randint(0,\ \ 1) == 0 else 'tails'\n return result\n\n" - image: python:3.9 + image: python:3.10 exec-print-op: container: args: @@ -164,7 +164,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str):\n \"\"\"Print a message.\"\"\"\n print(msg)\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op-2: container: args: @@ -193,7 +193,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str):\n \"\"\"Print a message.\"\"\"\n print(msg)\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op-3: container: args: @@ -222,7 +222,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str):\n \"\"\"Print a message.\"\"\"\n print(msg)\n\ \n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: single-condition-pipeline root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_condition_dynamic_task_output_custom_training_job.yaml b/sdk/python/test_data/pipelines/pipeline_with_condition_dynamic_task_output_custom_training_job.yaml index 12754cacc2f..7dfbf75f642 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_condition_dynamic_task_output_custom_training_job.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_condition_dynamic_task_output_custom_training_job.yaml @@ -222,7 +222,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef accelerator_count() -> int:\n return 1\n\n" - image: python:3.9 + image: python:3.10 exec-accelerator-type: container: args: @@ -250,7 +250,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef accelerator_type() -> str:\n return 'NVIDIA_TESLA_P4'\n\n" - image: python:3.9 + image: python:3.10 exec-custom-training-job: container: args: @@ -307,7 +307,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef flip_biased_coin_op() -> str:\n \"\"\"Flip a coin and output\ \ heads.\"\"\"\n return 'heads'\n\n" - image: python:3.9 + image: python:3.10 exec-machine-type: container: args: @@ -335,7 +335,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef machine_type() -> str:\n return 'n1-standard-4'\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_dynamic_importer_metadata.yaml b/sdk/python/test_data/pipelines/pipeline_with_dynamic_importer_metadata.yaml index 44bf9df60d6..d101e850e71 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_dynamic_importer_metadata.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_dynamic_importer_metadata.yaml @@ -109,7 +109,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef make_name(name: str) -> str:\n return name\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-with-importer root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_dynamic_task_output_custom_training_job.yaml b/sdk/python/test_data/pipelines/pipeline_with_dynamic_task_output_custom_training_job.yaml index 3c688b6bab3..6f9e498234c 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_dynamic_task_output_custom_training_job.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_dynamic_task_output_custom_training_job.yaml @@ -159,7 +159,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef accelerator_count() -> int:\n return 1\n\n" - image: python:3.9 + image: python:3.10 exec-accelerator-type: container: args: @@ -187,7 +187,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef accelerator_type() -> str:\n return 'NVIDIA_TESLA_P4'\n\n" - image: python:3.9 + image: python:3.10 exec-custom-training-job: container: args: @@ -243,7 +243,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef machine_type() -> str:\n return 'n1-standard-4'\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_env.yaml b/sdk/python/test_data/pipelines/pipeline_with_env.yaml index 1871759f2a7..019c7381421 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_env.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_env.yaml @@ -60,7 +60,7 @@ deploymentSpec: env: - name: ENV1 value: val1 - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-with-env root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_exit_handler.yaml b/sdk/python/test_data/pipelines/pipeline_with_exit_handler.yaml index 11db1b0ed3d..f837b67f090 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_exit_handler.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_exit_handler.yaml @@ -81,7 +81,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: @@ -110,7 +110,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 exec-print-op-2: container: args: @@ -139,7 +139,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-exit-handler root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_google_artifact_type.yaml b/sdk/python/test_data/pipelines/pipeline_with_google_artifact_type.yaml index 8c7c314489e..0d902d6b767 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_google_artifact_type.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_google_artifact_type.yaml @@ -79,7 +79,7 @@ deploymentSpec: \ print('Dataset')\n print('artifact.type: ', type(dataset))\n print('artifact.name:\ \ ', dataset.name)\n print('artifact.uri: ', dataset.uri)\n print('artifact.metadata:\ \ ', dataset.metadata)\n\n" - image: python:3.9 + image: python:3.10 exec-model-producer: container: args: @@ -110,7 +110,7 @@ deploymentSpec: \ *\nimport aiplatform\n\ndef model_producer(model: Output[aiplatform.VertexModel]):\n\ \n assert isinstance(model, aiplatform.VertexModel), type(model)\n \ \ with open(model.path, 'w') as f:\n f.write('my model')\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-with-google-types root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_importer.yaml b/sdk/python/test_data/pipelines/pipeline_with_importer.yaml index e71d6193dc0..b807f7aceb1 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_importer.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_importer.yaml @@ -148,7 +148,7 @@ deploymentSpec: \ trained using data: {data}'\n\n from collections import namedtuple\n\ \ output = namedtuple('Outputs', ['scalar', 'model'])\n return output(scalar,\ \ model)\n\n" - image: python:3.9 + image: python:3.10 exec-train-2: container: args: @@ -182,7 +182,7 @@ deploymentSpec: \ trained using data: {data}'\n\n from collections import namedtuple\n\ \ output = namedtuple('Outputs', ['scalar', 'model'])\n return output(scalar,\ \ model)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-with-importer root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_loops.yaml b/sdk/python/test_data/pipelines/pipeline_with_loops.yaml index 522e678bb04..72a674600e7 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_loops.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_loops.yaml @@ -187,7 +187,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef args_generator_op() -> List[Dict[str, str]]:\n return [{'A_a':\ \ '1', 'B_b': '2'}, {'A_a': '10', 'B_b': '20'}]\n\n" - image: python:3.9 + image: python:3.10 exec-print-struct: container: args: @@ -215,7 +215,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_struct(struct: Dict):\n print(struct)\n\n" - image: python:3.9 + image: python:3.10 exec-print-struct-2: container: args: @@ -243,7 +243,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_struct(struct: Dict):\n print(struct)\n\n" - image: python:3.9 + image: python:3.10 exec-print-text: container: args: @@ -271,7 +271,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str):\n print(msg)\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-2: container: args: @@ -299,7 +299,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str):\n print(msg)\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-3: container: args: @@ -327,7 +327,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str):\n print(msg)\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-4: container: args: @@ -355,7 +355,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str):\n print(msg)\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-5: container: args: @@ -383,7 +383,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str):\n print(msg)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-with-loops root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_loops_and_conditions.yaml b/sdk/python/test_data/pipelines/pipeline_with_loops_and_conditions.yaml index 661d5122420..51a09d5ed5a 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_loops_and_conditions.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_loops_and_conditions.yaml @@ -620,7 +620,7 @@ deploymentSpec: \ 'A_a': '1',\n 'B_b': ['2', '20'],\n },\n \ \ {\n 'A_a': '10',\n 'B_b': ['22', '222'],\n \ \ },\n ]\n\n" - image: python:3.9 + image: python:3.10 exec-args-generator-op-2: container: args: @@ -651,7 +651,7 @@ deploymentSpec: \ 'A_a': '1',\n 'B_b': ['2', '20'],\n },\n \ \ {\n 'A_a': '10',\n 'B_b': ['22', '222'],\n \ \ },\n ]\n\n" - image: python:3.9 + image: python:3.10 exec-flip-coin-op: container: args: @@ -681,7 +681,7 @@ deploymentSpec: \ *\n\ndef flip_coin_op() -> str:\n \"\"\"Flip a coin and output heads\ \ or tails randomly.\"\"\"\n import random\n result = 'heads' if random.randint(0,\ \ 1) == 0 else 'tails'\n return result\n\n" - image: python:3.9 + image: python:3.10 exec-print-struct: container: args: @@ -709,7 +709,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_struct(struct: dict):\n print(struct)\n\n" - image: python:3.9 + image: python:3.10 exec-print-text: container: args: @@ -738,7 +738,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str, msg2: Optional[str] = None):\n print(f'msg:\ \ {msg}, msg2: {msg2}')\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-2: container: args: @@ -767,7 +767,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str, msg2: Optional[str] = None):\n print(f'msg:\ \ {msg}, msg2: {msg2}')\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-3: container: args: @@ -796,7 +796,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str, msg2: Optional[str] = None):\n print(f'msg:\ \ {msg}, msg2: {msg2}')\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-4: container: args: @@ -825,7 +825,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str, msg2: Optional[str] = None):\n print(f'msg:\ \ {msg}, msg2: {msg2}')\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-5: container: args: @@ -854,7 +854,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str, msg2: Optional[str] = None):\n print(f'msg:\ \ {msg}, msg2: {msg2}')\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-6: container: args: @@ -883,7 +883,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str, msg2: Optional[str] = None):\n print(f'msg:\ \ {msg}, msg2: {msg2}')\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-7: container: args: @@ -912,7 +912,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str, msg2: Optional[str] = None):\n print(f'msg:\ \ {msg}, msg2: {msg2}')\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-8: container: args: @@ -941,7 +941,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str, msg2: Optional[str] = None):\n print(f'msg:\ \ {msg}, msg2: {msg2}')\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-9: container: args: @@ -970,7 +970,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str, msg2: Optional[str] = None):\n print(f'msg:\ \ {msg}, msg2: {msg2}')\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-with-loops-and-conditions-multi-layers root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_metadata_fields.yaml b/sdk/python/test_data/pipelines/pipeline_with_metadata_fields.yaml index 281e68bce86..6a16ab01e17 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_metadata_fields.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_metadata_fields.yaml @@ -84,7 +84,7 @@ deploymentSpec: \ as f:\n content_b = f.read()\n\n concatenated_string = content_a\ \ + content_b\n with open(out_dataset.path, 'w') as f:\n f.write(concatenated_string)\n\ \n return concatenated_string\n\n" - image: python:3.9 + image: python:3.10 exec-str-to-dataset: container: args: @@ -115,7 +115,7 @@ deploymentSpec: \"\"Convert string to dataset.\n\n Args:\n string: The string.\n\ \n Returns:\n dataset: The dataset.\n \"\"\"\n with open(dataset.path,\ \ 'w') as f:\n f.write(string)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: description: A pipeline that joins string to in_dataset. displayName: Concatenation pipeline diff --git a/sdk/python/test_data/pipelines/pipeline_with_metrics_outputs.yaml b/sdk/python/test_data/pipelines/pipeline_with_metrics_outputs.yaml index f579c7ff2b8..6f1feb2e590 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_metrics_outputs.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_metrics_outputs.yaml @@ -63,7 +63,7 @@ deploymentSpec: \ that outputs metrics with a random accuracy.\"\"\"\n import random\n\ \ result = random.randint(0, 100)\n metrics.log_metric('accuracy',\ \ result)\n\n" - image: python:3.9 + image: python:3.10 exec-output-metrics-2: container: args: @@ -94,7 +94,7 @@ deploymentSpec: \ that outputs metrics with a random accuracy.\"\"\"\n import random\n\ \ result = random.randint(0, 100)\n metrics.log_metric('accuracy',\ \ result)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-with-metrics-outputs root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_multiple_exit_handlers.yaml b/sdk/python/test_data/pipelines/pipeline_with_multiple_exit_handlers.yaml index 6517b7d5af3..746c0b79446 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_multiple_exit_handlers.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_multiple_exit_handlers.yaml @@ -141,7 +141,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: @@ -170,7 +170,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 exec-print-op-2: container: args: @@ -199,7 +199,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 exec-print-op-3: container: args: @@ -228,7 +228,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 exec-print-op-4: container: args: @@ -257,7 +257,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 exec-print-op-5: container: args: @@ -286,7 +286,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 exec-print-op-6: container: args: @@ -315,7 +315,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-multiple-exit-handlers root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_nested_conditions.yaml b/sdk/python/test_data/pipelines/pipeline_with_nested_conditions.yaml index e0ccd746650..c466a3ff1bd 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_nested_conditions.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_nested_conditions.yaml @@ -164,7 +164,7 @@ deploymentSpec: \ *\n\ndef flip_coin_op() -> str:\n \"\"\"Flip a coin and output heads\ \ or tails randomly.\"\"\"\n import random\n result = 'heads' if random.randint(0,\ \ 1) == 0 else 'tails'\n return result\n\n" - image: python:3.9 + image: python:3.10 exec-flip-coin-op-2: container: args: @@ -194,7 +194,7 @@ deploymentSpec: \ *\n\ndef flip_coin_op() -> str:\n \"\"\"Flip a coin and output heads\ \ or tails randomly.\"\"\"\n import random\n result = 'heads' if random.randint(0,\ \ 1) == 0 else 'tails'\n return result\n\n" - image: python:3.9 + image: python:3.10 exec-flip-coin-op-3: container: args: @@ -224,7 +224,7 @@ deploymentSpec: \ *\n\ndef flip_coin_op() -> str:\n \"\"\"Flip a coin and output heads\ \ or tails randomly.\"\"\"\n import random\n result = 'heads' if random.randint(0,\ \ 1) == 0 else 'tails'\n return result\n\n" - image: python:3.9 + image: python:3.10 exec-flip-coin-op-4: container: args: @@ -254,7 +254,7 @@ deploymentSpec: \ *\n\ndef flip_coin_op() -> str:\n \"\"\"Flip a coin and output heads\ \ or tails randomly.\"\"\"\n import random\n result = 'heads' if random.randint(0,\ \ 1) == 0 else 'tails'\n return result\n\n" - image: python:3.9 + image: python:3.10 exec-print-op: container: args: @@ -283,7 +283,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str):\n \"\"\"Print a message.\"\"\"\n print(msg)\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op-2: container: args: @@ -312,7 +312,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str):\n \"\"\"Print a message.\"\"\"\n print(msg)\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op-3: container: args: @@ -341,7 +341,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str):\n \"\"\"Print a message.\"\"\"\n print(msg)\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op-4: container: args: @@ -370,7 +370,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str):\n \"\"\"Print a message.\"\"\"\n print(msg)\n\ \n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: nested-conditions-pipeline root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_nested_loops.yaml b/sdk/python/test_data/pipelines/pipeline_with_nested_loops.yaml index 8657bd41d47..439f6c4d609 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_nested_loops.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_nested_loops.yaml @@ -161,7 +161,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str, msg2: Optional[str] = None):\n print(f'msg:\ \ {msg}, msg2: {msg2}')\n\n" - image: python:3.9 + image: python:3.10 exec-print-op-2: container: args: @@ -190,7 +190,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str, msg2: Optional[str] = None):\n print(f'msg:\ \ {msg}, msg2: {msg2}')\n\n" - image: python:3.9 + image: python:3.10 exec-print-op-3: container: args: @@ -219,7 +219,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str, msg2: Optional[str] = None):\n print(f'msg:\ \ {msg}, msg2: {msg2}')\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-with-nested-loops root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_outputs.yaml b/sdk/python/test_data/pipelines/pipeline_with_outputs.yaml index db2d89779be..86b51f915fa 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_outputs.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_outputs.yaml @@ -120,7 +120,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op1(msg: str) -> str:\n print(msg)\n return msg\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op1-2: container: args: @@ -149,7 +149,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op1(msg: str) -> str:\n print(msg)\n return msg\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op2: container: args: diff --git a/sdk/python/test_data/pipelines/pipeline_with_parallelfor_list_artifacts.yaml b/sdk/python/test_data/pipelines/pipeline_with_parallelfor_list_artifacts.yaml index 8151a430d37..989c6bba4db 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_parallelfor_list_artifacts.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_parallelfor_list_artifacts.yaml @@ -274,7 +274,7 @@ deploymentSpec: \ *\n\ndef make_artifact(data: str) -> Artifact:\n artifact = Artifact(uri=dsl.get_uri(),\ \ metadata={'length': len(data)})\n with open(artifact.path, 'w') as\ \ f:\n f.write(data)\n return artifact\n\n" - image: python:3.9 + image: python:3.10 exec-make-dataset: container: args: @@ -304,7 +304,7 @@ deploymentSpec: \ *\n\ndef make_dataset(data: str) -> Dataset:\n dataset = Dataset(uri=dsl.get_uri(),\ \ metadata={'length': len(data)})\n with open(dataset.path, 'w') as f:\n\ \ f.write(data)\n return dataset\n\n" - image: python:3.9 + image: python:3.10 exec-print-artifact-name: container: args: @@ -333,7 +333,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_artifact_name(artifact: Artifact) -> str:\n print(artifact.name)\n\ \ return artifact.name\n\n" - image: python:3.9 + image: python:3.10 exec-print-artifact-name-2: container: args: @@ -362,7 +362,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_artifact_name(artifact: Artifact) -> str:\n print(artifact.name)\n\ \ return artifact.name\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-parallelfor-artifacts root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_parallelfor_parallelism.yaml b/sdk/python/test_data/pipelines/pipeline_with_parallelfor_parallelism.yaml index da00b88058b..58129d8f740 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_parallelfor_parallelism.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_parallelfor_parallelism.yaml @@ -388,7 +388,7 @@ deploymentSpec: \ are strings and values are integers. For testing type \n handling during\ \ compilation.\"\"\"\n return [{'a': 1, 'b': 2}, {'a': 2, 'b': 3}, {'a':\ \ 3, 'b': 4}]\n\n" - image: python:3.9 + image: python:3.10 exec-list-dict-maker-1: container: args: @@ -419,7 +419,7 @@ deploymentSpec: \ dictionary typing (no enforcement of specific key or\n value types).\n\ \n Tests flexibility in type handling.\n \"\"\"\n return [{'a':\ \ 1, 'b': 2}, {'a': 2, 'b': 3}, {'a': 3, 'b': 4}]\n\n" - image: python:3.9 + image: python:3.10 exec-list-dict-maker-1-2: container: args: @@ -450,7 +450,7 @@ deploymentSpec: \ dictionary typing (no enforcement of specific key or\n value types).\n\ \n Tests flexibility in type handling.\n \"\"\"\n return [{'a':\ \ 1, 'b': 2}, {'a': 2, 'b': 3}, {'a': 3, 'b': 4}]\n\n" - image: python:3.9 + image: python:3.10 exec-list-dict-maker-2: container: args: @@ -481,7 +481,7 @@ deploymentSpec: \ of dictionaries without type enforcement.\n\n Tests flexibility in\ \ type handling.\n \"\"\"\n return [{'a': 1, 'b': 2}, {'a': 2, 'b':\ \ 3}, {'a': 3, 'b': 4}]\n\n" - image: python:3.9 + image: python:3.10 exec-list-dict-maker-3: container: args: @@ -512,7 +512,7 @@ deploymentSpec: \ (no typing or structure guarantees).\n\n Tests the limits of compiler\ \ type handling.\n \"\"\"\n return [{'a': 1, 'b': 2}, {'a': 2, 'b':\ \ 3}, {'a': 3, 'b': 4}]\n\n" - image: python:3.9 + image: python:3.10 exec-print-int: container: args: @@ -540,7 +540,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_int(x: int):\n print(x)\n\n" - image: python:3.9 + image: python:3.10 exec-print-int-2: container: args: @@ -568,7 +568,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_int(x: int):\n print(x)\n\n" - image: python:3.9 + image: python:3.10 exec-print-int-3: container: args: @@ -596,7 +596,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_int(x: int):\n print(x)\n\n" - image: python:3.9 + image: python:3.10 exec-print-int-4: container: args: @@ -624,7 +624,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_int(x: int):\n print(x)\n\n" - image: python:3.9 + image: python:3.10 exec-print-int-5: container: args: @@ -652,7 +652,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_int(x: int):\n print(x)\n\n" - image: python:3.9 + image: python:3.10 exec-print-int-6: container: args: @@ -680,7 +680,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_int(x: int):\n print(x)\n\n" - image: python:3.9 + image: python:3.10 exec-print-text: container: args: @@ -708,7 +708,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str):\n print(msg)\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-2: container: args: @@ -736,7 +736,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str):\n print(msg)\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-3: container: args: @@ -764,7 +764,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str):\n print(msg)\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-4: container: args: @@ -792,7 +792,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str):\n print(msg)\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-5: container: args: @@ -820,7 +820,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str):\n print(msg)\n\n" - image: python:3.9 + image: python:3.10 exec-print-text-6: container: args: @@ -848,7 +848,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_text(msg: str):\n print(msg)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-with-loops root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_params_containing_format.yaml b/sdk/python/test_data/pipelines/pipeline_with_params_containing_format.yaml index 3c7cfd8d1f8..4c4fddb0c46 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_params_containing_format.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_params_containing_format.yaml @@ -90,7 +90,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(text: str) -> str:\n print(text)\n return text\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op-2: container: args: @@ -119,7 +119,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(text: str) -> str:\n print(text)\n return text\n\ \n" - image: python:3.9 + image: python:3.10 exec-print-op2: container: args: @@ -148,7 +148,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op2(text1: str, text2: str) -> str:\n print(text1 +\ \ text2)\n return text1 + text2\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-with-pipelineparam-containing-format root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_placeholders.yaml b/sdk/python/test_data/pipelines/pipeline_with_placeholders.yaml index 0be44a5e899..d19b5e885c8 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_placeholders.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_placeholders.yaml @@ -70,7 +70,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str, value: str):\n print(msg, value)\n\n" - image: python:3.9 + image: python:3.10 exec-print-op-2: container: args: @@ -98,7 +98,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str, value: str):\n print(msg, value)\n\n" - image: python:3.9 + image: python:3.10 exec-print-op-3: container: args: @@ -126,7 +126,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str, value: str):\n print(msg, value)\n\n" - image: python:3.9 + image: python:3.10 exec-print-op-4: container: args: @@ -154,7 +154,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str, value: str):\n print(msg, value)\n\n" - image: python:3.9 + image: python:3.10 exec-print-op-5: container: args: @@ -182,7 +182,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(msg: str, value: str):\n print(msg, value)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-with-placeholders root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_retry.yaml b/sdk/python/test_data/pipelines/pipeline_with_retry.yaml index 89b1165a64f..b00f83896c1 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_retry.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_retry.yaml @@ -45,7 +45,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef add(a: float, b: float) -> float:\n return a + b\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: test-pipeline root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_string_machine_fields_pipeline_input.yaml b/sdk/python/test_data/pipelines/pipeline_with_string_machine_fields_pipeline_input.yaml index 542d9741e02..1709dc17596 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_string_machine_fields_pipeline_input.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_string_machine_fields_pipeline_input.yaml @@ -47,7 +47,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef sum_numbers(a: int, b: int) -> int:\n return a + b\n\n" - image: python:3.9 + image: python:3.10 resources: accelerator: resourceCount: '{{$.inputs.parameters[''pipelinechannel--accelerator_limit'']}}' diff --git a/sdk/python/test_data/pipelines/pipeline_with_string_machine_fields_task_output.yaml b/sdk/python/test_data/pipelines/pipeline_with_string_machine_fields_task_output.yaml index 0159a4e9546..28814a3576b 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_string_machine_fields_task_output.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_string_machine_fields_task_output.yaml @@ -66,7 +66,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef accelerator_limit() -> str:\n return '1'\n\n" - image: python:3.9 + image: python:3.10 exec-accelerator-type: container: args: @@ -94,7 +94,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef accelerator_type() -> str:\n return 'NVIDIA_TESLA_P4'\n\n" - image: python:3.9 + image: python:3.10 exec-cpu-limit: container: args: @@ -122,7 +122,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef cpu_limit() -> str:\n return '4000m'\n\n" - image: python:3.9 + image: python:3.10 exec-memory-limit: container: args: @@ -150,7 +150,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef memory_limit() -> str:\n return '15G'\n\n" - image: python:3.9 + image: python:3.10 exec-sum-numbers: container: args: @@ -178,7 +178,7 @@ deploymentSpec: ' - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef sum_numbers(a: int, b: int) -> int:\n return a + b\n\n" - image: python:3.9 + image: python:3.10 resources: accelerator: resourceCount: '{{$.inputs.parameters[''pipelinechannel--accelerator-limit-Output'']}}' diff --git a/sdk/python/test_data/pipelines/pipeline_with_task_final_status.yaml b/sdk/python/test_data/pipelines/pipeline_with_task_final_status.yaml index b97c6b35d99..4a7407a89c9 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_task_final_status.yaml +++ b/sdk/python/test_data/pipelines/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/sdk/python/test_data/pipelines/pipeline_with_task_final_status_yaml.py b/sdk/python/test_data/pipelines/pipeline_with_task_final_status_yaml.py index caada43bc53..fd11405dfed 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_task_final_status_yaml.py +++ b/sdk/python/test_data/pipelines/pipeline_with_task_final_status_yaml.py @@ -24,7 +24,7 @@ - {name: status, type: PipelineTaskFinalStatus} implementation: container: - image: python:3.9 + image: python:3.10 command: - echo - "user input:" @@ -39,7 +39,7 @@ - {name: message, type: String} implementation: container: - image: python:3.9 + image: python:3.10 command: - echo - {inputValue: message} diff --git a/sdk/python/test_data/pipelines/pipeline_with_task_final_status_yaml.yaml b/sdk/python/test_data/pipelines/pipeline_with_task_final_status_yaml.yaml index 4e336ca5189..9d06d574fd2 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_task_final_status_yaml.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_task_final_status_yaml.yaml @@ -46,13 +46,13 @@ deploymentSpec: - '{{$.inputs.parameters[''user_input'']}}' - 'pipeline status:' - '{{$.inputs.parameters[''status'']}}' - image: python:3.9 + image: python:3.10 exec-print-op: container: command: - echo - '{{$.inputs.parameters[''message'']}}' - image: python:3.9 + image: python:3.10 pipelineInfo: name: pipeline-with-task-final-status-yaml root: diff --git a/sdk/python/test_data/pipelines/pipeline_with_task_using_ignore_upstream_failure.yaml b/sdk/python/test_data/pipelines/pipeline_with_task_using_ignore_upstream_failure.yaml index 21a2d2fdeae..552835d1f51 100644 --- a/sdk/python/test_data/pipelines/pipeline_with_task_using_ignore_upstream_failure.yaml +++ b/sdk/python/test_data/pipelines/pipeline_with_task_using_ignore_upstream_failure.yaml @@ -51,7 +51,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef fail_op(message: str) -> str:\n \"\"\"Fails.\"\"\"\n import\ \ sys\n print(message)\n sys.exit(1)\n return message\n\n" - image: python:3.9 + image: python:3.10 exec-print-op: container: args: @@ -80,7 +80,7 @@ deploymentSpec: - "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import\ \ *\n\ndef print_op(message: str = 'default'):\n \"\"\"Prints a message.\"\ \"\"\n print(message)\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: my-pipeline root: diff --git a/sdk/python/test_data/pipelines/pythonic_artifact_with_single_return.yaml b/sdk/python/test_data/pipelines/pythonic_artifact_with_single_return.yaml index 75309846d36..b0bddf1aec3 100644 --- a/sdk/python/test_data/pipelines/pythonic_artifact_with_single_return.yaml +++ b/sdk/python/test_data/pipelines/pythonic_artifact_with_single_return.yaml @@ -74,7 +74,7 @@ deploymentSpec: \ str) -> str:\n return x\n\n model = Model(\n uri=dsl.get_uri(suffix='model'),\n\ \ metadata={'data': text_dataset.name},\n )\n\n with open(model.path,\ \ 'wb') as f:\n dill.dump(dummy_model, f)\n\n return model\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: make-language-model-pipeline root: diff --git a/sdk/python/test_data/pipelines/pythonic_artifacts_with_list_of_artifacts.yaml b/sdk/python/test_data/pipelines/pythonic_artifacts_with_list_of_artifacts.yaml index 7589b825874..7b5c01376c7 100644 --- a/sdk/python/test_data/pipelines/pythonic_artifacts_with_list_of_artifacts.yaml +++ b/sdk/python/test_data/pipelines/pythonic_artifacts_with_list_of_artifacts.yaml @@ -97,7 +97,7 @@ deploymentSpec: \ = []\n for dataset in datasets:\n with open(dataset.path, 'r')\ \ as f:\n texts.append(f.read())\n\n return ''.join(texts)\n\ \n" - image: python:3.9 + image: python:3.10 exec-make-dataset: container: args: @@ -127,7 +127,7 @@ deploymentSpec: \ *\n\ndef make_dataset(text: str) -> Dataset:\n dataset = Dataset(uri=dsl.get_uri(),\ \ metadata={'length': len(text)})\n with open(dataset.path, 'w') as f:\n\ \ f.write(text)\n return dataset\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: make-and-join-datasets root: diff --git a/sdk/python/test_data/pipelines/pythonic_artifacts_with_multiple_returns.yaml b/sdk/python/test_data/pipelines/pythonic_artifacts_with_multiple_returns.yaml index f86b47e2314..5509091b25e 100644 --- a/sdk/python/test_data/pipelines/pythonic_artifacts_with_multiple_returns.yaml +++ b/sdk/python/test_data/pipelines/pythonic_artifacts_with_multiple_returns.yaml @@ -110,7 +110,7 @@ deploymentSpec: \ f.write(out_data2)\n\n outputs = NamedTuple(\n 'outputs',\n\ \ dataset1=Dataset,\n dataset2=Dataset,\n )\n return\ \ outputs(dataset1=dataset1, dataset2=dataset2)\n\n" - image: python:3.9 + image: python:3.10 exec-make-dataset: container: args: @@ -140,7 +140,7 @@ deploymentSpec: \ *\n\ndef make_dataset() -> Artifact:\n artifact = Artifact(uri=dsl.get_uri('dataset'))\n\ \ with open(artifact.path, 'w') as f:\n f.write('Hello, world')\n\ \ return artifact\n\n" - image: python:3.9 + image: python:3.10 pipelineInfo: name: split-datasets-and-return-first root: 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: