Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix, chore, refactor(egen): REST api fixes, KFP v2 refactor, new template #3180

Merged
merged 3 commits into from
Jul 1, 2024

chore: addresses the review comments

9396994
Select commit
Loading
Failed to load commit list.
Merged

fix, chore, refactor(egen): REST api fixes, KFP v2 refactor, new template #3180

chore: addresses the review comments
9396994
Select commit
Loading
Failed to load commit list.
Google Cloud Build / vertex-ai-notebook-execution-test (python-docs-samples-tests) succeeded Jul 1, 2024 in 14m 56s

Summary

Build Information

Trigger vertex-ai-notebook-execution-test
Build eec7893f-2557-478c-9676-3a73ee22f9fa
Start 2024-07-01T12:58:56-07:00
Duration 14m14.2s
Status SUCCESS

Steps

Step Status Duration
gcr.io/cloud-devrel-public-resources/python-samples-testing-docker:latest SUCCESS 45.702s
gcr.io/cloud-devrel-public-resources/python-samples-testing-docker:latest SUCCESS 576ms
gcr.io/cloud-builders/git SUCCESS 7.956s
gcr.io/cloud-devrel-public-resources/python-samples-testing-docker:latest SUCCESS 5.318s
gcr.io/cloud-devrel-public-resources/python-samples-testing-docker:latest SUCCESS 1m44.126s
gcr.io/cloud-devrel-public-resources/python-samples-testing-docker:latest SUCCESS 11m24.666s

Details

starting build "eec7893f-2557-478c-9676-3a73ee22f9fa"

FETCHSOURCE
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
Initialized empty Git repository in /workspace/.git/
From https://github.com/GoogleCloudPlatform/vertex-ai-samples
 * branch            93969942996008af87452ef58e3f06d84b67c282 -> FETCH_HEAD
HEAD is now at 9396994 chore: addresses the review comments
BUILD
Starting Step #0
Step #0: Pulling image: gcr.io/cloud-devrel-public-resources/python-samples-testing-docker:latest
Step #0: latest: Pulling from cloud-devrel-public-resources/python-samples-testing-docker
Step #0: 80888bc6716f: Pulling fs layer
Step #0: 37c642b4a269: Pulling fs layer
Step #0: f580537b041d: Pulling fs layer
Step #0: fae84b036976: Pulling fs layer
Step #0: 9d85811bd886: Pulling fs layer
Step #0: fae84b036976: Waiting
Step #0: d37fd6b982d1: Pulling fs layer
Step #0: a57f31145b32: Pulling fs layer
Step #0: 72e9bda57337: Pulling fs layer
Step #0: 9d85811bd886: Waiting
Step #0: 1c8b4c0cd55e: Pulling fs layer
Step #0: d0fbf2665f1f: Pulling fs layer
Step #0: a3295a1471c5: Pulling fs layer
Step #0: d37fd6b982d1: Waiting
Step #0: a57f31145b32: Waiting
Step #0: 72e9bda57337: Waiting
Step #0: d0fbf2665f1f: Waiting
Step #0: 1c8b4c0cd55e: Waiting
Step #0: 9e5bd4e62f90: Pulling fs layer
Step #0: df06b8bdaab2: Pulling fs layer
Step #0: 78f9630f5203: Pulling fs layer
Step #0: 240513ab0076: Pulling fs layer
Step #0: a3295a1471c5: Waiting
Step #0: ad94e8022013: Pulling fs layer
Step #0: 02dc8bec8c15: Pulling fs layer
Step #0: 78f9630f5203: Waiting
Step #0: df06b8bdaab2: Waiting
Step #0: 9e5bd4e62f90: Waiting
Step #0: cd968686a9aa: Pulling fs layer
Step #0: cd0e55646a1f: Pulling fs layer
Step #0: 02dc8bec8c15: Waiting
Step #0: cd0e55646a1f: Waiting
Step #0: cd968686a9aa: Waiting
Step #0: ec6fbc22aba4: Pulling fs layer
Step #0: 8a9d0305d6b2: Pulling fs layer
Step #0: bf9b9f9ad000: Pulling fs layer
Step #0: f47546687712: Pulling fs layer
Step #0: 49119bc701a5: Pulling fs layer
Step #0: ec6fbc22aba4: Waiting
Step #0: 8a9d0305d6b2: Waiting
Step #0: bf9b9f9ad000: Waiting
Step #0: f47546687712: Waiting
Step #0: 93f6be0fc88f: Pulling fs layer
Step #0: d0773f577b01: Pulling fs layer
Step #0: 49119bc701a5: Waiting
Step #0: 93f6be0fc88f: Waiting
Step #0: d0773f577b01: Waiting
Step #0: f580537b041d: Download complete
Step #0: 80888bc6716f: Verifying Checksum
Step #0: 80888bc6716f: Download complete
Step #0: fae84b036976: Verifying Checksum
Step #0: fae84b036976: Download complete
Step #0: d37fd6b982d1: Verifying Checksum
Step #0: d37fd6b982d1: Download complete
Step #0: 80888bc6716f: Pull complete
Step #0: 9d85811bd886: Verifying Checksum
Step #0: 9d85811bd886: Download complete
Step #0: a57f31145b32: Verifying Checksum
Step #0: a57f31145b32: Download complete
Step #0: 72e9bda57337: Verifying Checksum
Step #0: 72e9bda57337: Download complete
Step #0: d0fbf2665f1f: Verifying Checksum
Step #0: d0fbf2665f1f: Download complete
Step #0: a3295a1471c5: Verifying Checksum
Step #0: a3295a1471c5: Download complete
Step #0: 9e5bd4e62f90: Verifying Checksum
Step #0: 9e5bd4e62f90: Download complete
Step #0: 37c642b4a269: Verifying Checksum
Step #0: 37c642b4a269: Download complete
Step #0: df06b8bdaab2: Verifying Checksum
Step #0: df06b8bdaab2: Download complete
Step #0: 78f9630f5203: Verifying Checksum
Step #0: 78f9630f5203: Download complete
Step #0: ad94e8022013: Verifying Checksum
Step #0: ad94e8022013: Download complete
Step #0: 02dc8bec8c15: Download complete
Step #0: 240513ab0076: Verifying Checksum
Step #0: 240513ab0076: Download complete
Step #0: cd968686a9aa: Verifying Checksum
Step #0: cd968686a9aa: Download complete
Step #0: cd0e55646a1f: Verifying Checksum
Step #0: cd0e55646a1f: Download complete
Step #0: ec6fbc22aba4: Verifying Checksum
Step #0: ec6fbc22aba4: Download complete
Step #0: bf9b9f9ad000: Download complete
Step #0: 8a9d0305d6b2: Verifying Checksum
Step #0: 8a9d0305d6b2: Download complete
Step #0: f47546687712: Download complete
Step #0: 93f6be0fc88f: Download complete
Step #0: d0773f577b01: Verifying Checksum
Step #0: d0773f577b01: Download complete
Step #0: 1c8b4c0cd55e: Verifying Checksum
Step #0: 1c8b4c0cd55e: Download complete
Step #0: 49119bc701a5: Verifying Checksum
Step #0: 49119bc701a5: Download complete
Step #0: 37c642b4a269: Pull complete
Step #0: f580537b041d: Pull complete
Step #0: fae84b036976: Pull complete
Step #0: 9d85811bd886: Pull complete
Step #0: d37fd6b982d1: Pull complete
Step #0: a57f31145b32: Pull complete
Step #0: 72e9bda57337: Pull complete
Step #0: 1c8b4c0cd55e: Pull complete
Step #0: d0fbf2665f1f: Pull complete
Step #0: a3295a1471c5: Pull complete
Step #0: 9e5bd4e62f90: Pull complete
Step #0: df06b8bdaab2: Pull complete
Step #0: 78f9630f5203: Pull complete
Step #0: 240513ab0076: Pull complete
Step #0: ad94e8022013: Pull complete
Step #0: 02dc8bec8c15: Pull complete
Step #0: cd968686a9aa: Pull complete
Step #0: cd0e55646a1f: Pull complete
Step #0: ec6fbc22aba4: Pull complete
Step #0: 8a9d0305d6b2: Pull complete
Step #0: bf9b9f9ad000: Pull complete
Step #0: f47546687712: Pull complete
Step #0: 49119bc701a5: Pull complete
Step #0: 93f6be0fc88f: Pull complete
Step #0: d0773f577b01: Pull complete
Step #0: Digest: sha256:264987e3a848c6c173ef24fd37de448b06f15302adb3b81d61cb99ff2b4b3a00
Step #0: Status: Downloaded newer image for gcr.io/cloud-devrel-public-resources/python-samples-testing-docker:latest
Step #0: gcr.io/cloud-devrel-public-resources/python-samples-testing-docker:latest
Step #0: [core]
Step #0: account = 1012616486416@cloudbuild.gserviceaccount.com
Step #0: disable_prompts = True
Step #0: disable_usage_reporting = True
Step #0: project = python-docs-samples-tests
Step #0: 
Step #0: Your active configuration is: [default]
Finished Step #0
Starting Step #1
Step #1: Already have image (with digest): gcr.io/cloud-devrel-public-resources/python-samples-testing-docker:latest
Step #1: Python version acceptable: 3.12.0 (main, Apr 17 2024, 18:17:28) [GCC 9.4.0]
Finished Step #1
Starting Step #2
Step #2: Already have image (with digest): gcr.io/cloud-builders/git
Step #2: 
Step #2:                    ***** NOTICE *****
Step #2: 
Step #2: Official `cloud-sdk` images, including multiple tagged versions across multiple
Step #2: platforms, can be found at
Step #2: https://github.com/GoogleCloudPlatform/cloud-sdk-docker and may be more suitable
Step #2: for some use cases when interacting with Cloud Source Repositories.
Step #2: 
Step #2: For additional information, please visit
Step #2: https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/git
Step #2: 
Step #2:                 ***** END OF NOTICE *****
Step #2: 
Finished Step #2
Starting Step #3
Step #3: Already have image (with digest): gcr.io/cloud-devrel-public-resources/python-samples-testing-docker:latest
Finished Step #3
Starting Step #4
Step #4: Already have image (with digest): gcr.io/cloud-devrel-public-resources/python-samples-testing-docker:latest
Finished Step #4
Starting Step #5
Step #5: Already have image (with digest): gcr.io/cloud-devrel-public-resources/python-samples-testing-docker:latest
Step #5: /workspace/.cloud-build/execute_changed_notebooks_helper.py:241: SyntaxWarning: invalid escape sequence '\d'
Step #5:   "python version = (\d+\.\d+)", markdown, flags=re.IGNORECASE
Step #5: Copying file://source_archived_1df44adf-4e96-4981-8040-1f2e83167a91.tar.gz [Content-Type=application/x-tar]...
Step #5: / [0 files][    0.0 B/ 27.8 MiB]                                                
/ [1 files][ 27.8 MiB/ 27.8 MiB]                                                
Step #5: Operation completed over 1 objects/27.8 MiB.                                     
Step #5: Checking folders: ['notebooks/official', 'notebooks/notebook_template.ipynb']
Step #5: Looking for notebooks that changed from branch: 7a15b8807136041f766ce0eebb0675a0f5e9ffc4
Step #5: Found 1 notebooks:
Step #5: 	notebooks/official/pipelines/pipelines_intro_kfp.ipynb
Step #5: Error: file does not exist .
Step #5: Found 1 modified notebooks: ['notebooks/official/pipelines/pipelines_intro_kfp.ipynb']
Step #5: Running notebook: notebooks/official/pipelines/pipelines_intro_kfp.ipynb
Step #5: Running notebook with python 3.9
Step #5: Uploaded source code archive to gs://cloud-build-notebooks-presubmit/code_archives/source_archived_1df44adf-4e96-4981-8040-1f2e83167a91.tar.gz
Step #5: notebooks/official/pipelines/pipelines_intro_kfp.ipynb PASSED in 00:11:19.
Step #5: 
Step #5: === RESULTS ===
Step #5: 
Step #5: build_tag                  status    duration    log_url                                                                                                                            output_uri                                                                                                                            output_uri_web                                                                                                                                                  logs_bucket
Step #5: -------------------------  --------  ----------  ---------------------------------------------------------------------------------------------------------------------------------  ------------------------------------------------------------------------------------------------------------------------------------  --------------------------------------------------------------------------------------------------------------------------------------------------------------  --------------------------------------------------------
Step #5: pipelines_intro_kfp.ipynb  PASSED    00:11:19    https://console.cloud.google.com/cloud-build/builds;region=us-central1/7c739286-830a-4b5b-8fb4-dda9f29c90a7?project=1012616486416  gs://cloud-build-notebooks-presubmit/executed_notebooks/PR_3180/BUILD_eec7893f-2557-478c-9676-3a73ee22f9fa/pipelines_intro_kfp.ipynb  https://storage.googleapis.com/cloud-build-notebooks-presubmit/executed_notebooks/PR_3180/BUILD_eec7893f-2557-478c-9676-3a73ee22f9fa/pipelines_intro_kfp.ipynb  gs://1012616486416.cloudbuild-logs.googleusercontent.com
Step #5: ====================================================================================================
Step #5: The notebook execution build log:
Step #5: 
Step #5: ====================================================================================================
Step #5: Downloaded storage object log-7c739286-830a-4b5b-8fb4-dda9f29c90a7.txt from bucket 1012616486416.cloudbuild-logs.googleusercontent.com.
Step #5: Starting Step #4
Step #5: Step #4: Already have image (with digest): gcr.io/cloud-devrel-public-resources/python-samples-testing-docker:latest
Step #5: Step #4: 
Step #5: Step #4: === DOWNLOAD EXECUTED NOTEBOOK ===
Step #5: Step #4: 
Step #5: Step #4: Please debug the executed notebook by downloading the executed notebook:
Step #5: Step #4: Option 1. Using gsutil. Run the following command in your terminal.
Step #5: Step #4: 	gsutil cp "gs://cloud-build-notebooks-presubmit/executed_notebooks/PR_3180/BUILD_eec7893f-2557-478c-9676-3a73ee22f9fa/pipelines_intro_kfp.ipynb" .
Step #5: Step #4: Option 2. Using this link.
Step #5: Step #4: 	https://storage.googleapis.com/cloud-build-notebooks-presubmit/executed_notebooks/PR_3180/BUILD_eec7893f-2557-478c-9676-3a73ee22f9fa/pipelines_intro_kfp.ipynb
Step #5: Step #4: 
Step #5: Step #4: ======
Step #5: Step #4: 
Step #5: Step #4: Requirement already satisfied: google-cloud-aiplatform in ./workspace/env/lib/python3.9/site-packages (1.57.0)
Step #5: Step #4: Requirement already satisfied: google-cloud-storage in ./workspace/env/lib/python3.9/site-packages (2.17.0)
Step #5: Step #4: Collecting kfp
Step #5: Step #4:   Downloading kfp-2.8.0.tar.gz (594 kB)
Step #5: Step #4: �[?25l     �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m0.0/594.4 kB�[0m �[31m?�[0m eta �[36m-:--:--�[0m
�[2K     �[91m━━�[0m�[90m╺�[0m�[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m30.7/594.4 kB�[0m �[31m3.6 MB/s�[0m eta �[36m0:00:01�[0m
�[2K     �[91m━━━━━━�[0m�[90m╺�[0m�[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m92.2/594.4 kB�[0m �[31m1.6 MB/s�[0m eta �[36m0:00:01�[0m
�[2K     �[91m━━━━━━━━━━━━━━━�[0m�[90m╺�[0m�[90m━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m235.5/594.4 kB�[0m �[31m2.3 MB/s�[0m eta �[36m0:00:01�[0m
�[2K     �[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m�[91m╸�[0m�[90m━━━━━�[0m �[32m512.0/594.4 kB�[0m �[31m3.6 MB/s�[0m eta �[36m0:00:01�[0m
�[2K     �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m594.4/594.4 kB�[0m �[31m3.5 MB/s�[0m eta �[36m0:00:00�[0m
Step #5: Step #4: �[?25h  Installing build dependencies ... �[?25l-� �\� �|� �/� �-� �\� �done
Step #5: Step #4: �[?25h  Getting requirements to build wheel ... �[?25l-� �done
Step #5: Step #4: �[?25h  Preparing metadata (pyproject.toml) ... �[?25l-� �done
Step #5: Step #4: �[?25hCollecting google-cloud-pipeline-components
Step #5: Step #4:   Downloading google_cloud_pipeline_components-2.15.0-py3-none-any.whl.metadata (5.8 kB)
Step #5: Step #4: Requirement already satisfied: google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1 in ./workspace/env/lib/python3.9/site-packages (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform) (2.19.1)
Step #5: Step #4: Requirement already satisfied: google-auth<3.0.0dev,>=2.14.1 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-aiplatform) (2.31.0)
Step #5: Step #4: Requirement already satisfied: proto-plus<2.0.0dev,>=1.22.0 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-aiplatform) (1.24.0)
Step #5: Step #4: Requirement already satisfied: protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-aiplatform) (4.25.3)
Step #5: Step #4: Requirement already satisfied: packaging>=14.3 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-aiplatform) (24.1)
Step #5: Step #4: Requirement already satisfied: google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-aiplatform) (3.25.0)
Step #5: Step #4: Requirement already satisfied: google-cloud-resource-manager<3.0.0dev,>=1.3.3 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-aiplatform) (1.12.3)
Step #5: Step #4: Requirement already satisfied: shapely<3.0.0dev in ./workspace/env/lib/python3.9/site-packages (from google-cloud-aiplatform) (2.0.4)
Step #5: Step #4: Requirement already satisfied: pydantic<3 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-aiplatform) (2.8.0)
Step #5: Step #4: Requirement already satisfied: docstring-parser<1 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-aiplatform) (0.16)
Step #5: Step #4: Requirement already satisfied: google-cloud-core<3.0dev,>=2.3.0 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-storage) (2.4.1)
Step #5: Step #4: Requirement already satisfied: google-resumable-media>=2.6.0 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-storage) (2.7.1)
Step #5: Step #4: Requirement already satisfied: requests<3.0.0dev,>=2.18.0 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-storage) (2.32.3)
Step #5: Step #4: Requirement already satisfied: google-crc32c<2.0dev,>=1.0 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-storage) (1.5.0)
Step #5: Step #4: Requirement already satisfied: click<9,>=8.0.0 in ./workspace/env/lib/python3.9/site-packages (from kfp) (8.1.7)
Step #5: Step #4: Collecting kfp-pipeline-spec==0.3.0 (from kfp)
Step #5: Step #4:   Downloading kfp_pipeline_spec-0.3.0-py3-none-any.whl.metadata (329 bytes)
Step #5: Step #4: Collecting kfp-server-api<2.1.0,>=2.0.0 (from kfp)
Step #5: Step #4:   Downloading kfp-server-api-2.0.5.tar.gz (63 kB)
Step #5: Step #4: �[?25l     �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m0.0/63.4 kB�[0m �[31m?�[0m eta �[36m-:--:--�[0m
�[2K     �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m63.4/63.4 kB�[0m �[31m10.0 MB/s�[0m eta �[36m0:00:00�[0m
Step #5: Step #4: �[?25h  Installing build dependencies ... �[?25l-� �\� �|� �/� �done
Step #5: Step #4: �[?25h  Getting requirements to build wheel ... �[?25l-� �done
Step #5: Step #4: �[?25h  Preparing metadata (pyproject.toml) ... �[?25l-� �done
Step #5: Step #4: �[?25hCollecting kubernetes<27,>=8.0.0 (from kfp)
Step #5: Step #4:   Downloading kubernetes-26.1.0-py2.py3-none-any.whl.metadata (1.5 kB)
Step #5: Step #4: Requirement already satisfied: PyYAML<7,>=5.3 in ./workspace/env/lib/python3.9/site-packages (from kfp) (6.0.1)
Step #5: Step #4: Collecting requests-toolbelt<1,>=0.8.0 (from kfp)
Step #5: Step #4:   Downloading requests_toolbelt-0.10.1-py2.py3-none-any.whl.metadata (14 kB)
Step #5: Step #4: Requirement already satisfied: tabulate<1,>=0.8.6 in ./workspace/env/lib/python3.9/site-packages (from kfp) (0.9.0)
Step #5: Step #4: Collecting urllib3<2.0.0 (from kfp)
Step #5: Step #4:   Downloading urllib3-1.26.19-py2.py3-none-any.whl.metadata (49 kB)
Step #5: Step #4: �[?25l     �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m0.0/49.3 kB�[0m �[31m?�[0m eta �[36m-:--:--�[0m
�[2K     �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m49.3/49.3 kB�[0m �[31m6.7 MB/s�[0m eta �[36m0:00:00�[0m
Step #5: Step #4: �[?25hRequirement already satisfied: Jinja2<4,>=3.1.2 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-pipeline-components) (3.1.4)
Step #5: Step #4: Collecting kfp
Step #5: Step #4:   Downloading kfp-2.7.0.tar.gz (441 kB)
Step #5: Step #4: �[?25l     �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m0.0/441.8 kB�[0m �[31m?�[0m eta �[36m-:--:--�[0m
�[2K     �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m441.8/441.8 kB�[0m �[31m25.4 MB/s�[0m eta �[36m0:00:00�[0m
Step #5: Step #4: �[?25h  Installing build dependencies ... �[?25l-� �\� �|� �/� �done
Step #5: Step #4: �[?25h  Getting requirements to build wheel ... �[?25l-� �done
Step #5: Step #4: �[?25h  Preparing metadata (pyproject.toml) ... �[?25l-� �done
Step #5: Step #4: �[?25hRequirement already satisfied: googleapis-common-protos<2.0.dev0,>=1.56.2 in ./workspace/env/lib/python3.9/site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform) (1.63.2)
Step #5: Step #4: Requirement already satisfied: grpcio<2.0dev,>=1.33.2 in ./workspace/env/lib/python3.9/site-packages (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform) (1.64.1)
Step #5: Step #4: Requirement already satisfied: grpcio-status<2.0.dev0,>=1.33.2 in ./workspace/env/lib/python3.9/site-packages (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.34.1->google-cloud-aiplatform) (1.62.2)
Step #5: Step #4: Requirement already satisfied: cachetools<6.0,>=2.0.0 in ./workspace/env/lib/python3.9/site-packages (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform) (5.3.3)
Step #5: Step #4: Requirement already satisfied: pyasn1-modules>=0.2.1 in ./workspace/env/lib/python3.9/site-packages (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform) (0.4.0)
Step #5: Step #4: Requirement already satisfied: rsa<5,>=3.1.4 in ./workspace/env/lib/python3.9/site-packages (from google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform) (4.9)
Step #5: Step #4: Requirement already satisfied: python-dateutil<3.0dev,>=2.7.2 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-bigquery!=3.20.0,<4.0.0dev,>=1.15.0->google-cloud-aiplatform) (2.9.0.post0)
Step #5: Step #4: Requirement already satisfied: grpc-google-iam-v1<1.0.0dev,>=0.12.4 in ./workspace/env/lib/python3.9/site-packages (from google-cloud-resource-manager<3.0.0dev,>=1.3.3->google-cloud-aiplatform) (0.13.1)
Step #5: Step #4: Requirement already satisfied: MarkupSafe>=2.0 in ./workspace/env/lib/python3.9/site-packages (from Jinja2<4,>=3.1.2->google-cloud-pipeline-components) (2.1.5)
Step #5: Step #4: Requirement already satisfied: six>=1.10 in ./workspace/env/lib/python3.9/site-packages (from kfp-server-api<2.1.0,>=2.0.0->kfp) (1.16.0)
Step #5: Step #4: Requirement already satisfied: certifi in ./workspace/env/lib/python3.9/site-packages (from kfp-server-api<2.1.0,>=2.0.0->kfp) (2024.6.2)
Step #5: Step #4: Requirement already satisfied: setuptools>=21.0.0 in ./workspace/env/lib/python3.9/site-packages (from kubernetes<27,>=8.0.0->kfp) (58.1.0)
Step #5: Step #4: Requirement already satisfied: websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0 in ./workspace/env/lib/python3.9/site-packages (from kubernetes<27,>=8.0.0->kfp) (1.8.0)
Step #5: Step #4: Collecting requests-oauthlib (from kubernetes<27,>=8.0.0->kfp)
Step #5: Step #4:   Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl.metadata (11 kB)
Step #5: Step #4: Requirement already satisfied: annotated-types>=0.4.0 in ./workspace/env/lib/python3.9/site-packages (from pydantic<3->google-cloud-aiplatform) (0.7.0)
Step #5: Step #4: Requirement already satisfied: pydantic-core==2.20.0 in ./workspace/env/lib/python3.9/site-packages (from pydantic<3->google-cloud-aiplatform) (2.20.0)
Step #5: Step #4: Requirement already satisfied: typing-extensions>=4.6.1 in ./workspace/env/lib/python3.9/site-packages (from pydantic<3->google-cloud-aiplatform) (4.12.2)
Step #5: Step #4: Requirement already satisfied: charset-normalizer<4,>=2 in ./workspace/env/lib/python3.9/site-packages (from requests<3.0.0dev,>=2.18.0->google-cloud-storage) (3.3.2)
Step #5: Step #4: Requirement already satisfied: idna<4,>=2.5 in ./workspace/env/lib/python3.9/site-packages (from requests<3.0.0dev,>=2.18.0->google-cloud-storage) (3.7)
Step #5: Step #4: Requirement already satisfied: numpy<3,>=1.14 in ./workspace/env/lib/python3.9/site-packages (from shapely<3.0.0dev->google-cloud-aiplatform) (2.0.0)
Step #5: Step #4: Requirement already satisfied: pyasn1<0.7.0,>=0.4.6 in ./workspace/env/lib/python3.9/site-packages (from pyasn1-modules>=0.2.1->google-auth<3.0.0dev,>=2.14.1->google-cloud-aiplatform) (0.6.0)
Step #5: Step #4: Collecting oauthlib>=3.0.0 (from requests-oauthlib->kubernetes<27,>=8.0.0->kfp)
Step #5: Step #4:   Downloading oauthlib-3.2.2-py3-none-any.whl.metadata (7.5 kB)
Step #5: Step #4: Downloading kfp_pipeline_spec-0.3.0-py3-none-any.whl (12 kB)
Step #5: Step #4: Downloading google_cloud_pipeline_components-2.15.0-py3-none-any.whl (1.5 MB)
Step #5: Step #4: �[?25l   �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m0.0/1.5 MB�[0m �[31m?�[0m eta �[36m-:--:--�[0m
�[2K   �[91m━━━━━━━━━━━━━━━━━━━━━━━�[0m�[91m╸�[0m�[90m━━━━━━━━━━━━━━━━�[0m �[32m0.9/1.5 MB�[0m �[31m52.0 MB/s�[0m eta �[36m0:00:01�[0m
�[2K   �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m1.5/1.5 MB�[0m �[31m25.8 MB/s�[0m eta �[36m0:00:00�[0m
Step #5: Step #4: �[?25hDownloading kubernetes-26.1.0-py2.py3-none-any.whl (1.4 MB)
Step #5: Step #4: �[?25l   �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m0.0/1.4 MB�[0m �[31m?�[0m eta �[36m-:--:--�[0m
�[2K   �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m1.4/1.4 MB�[0m �[31m78.5 MB/s�[0m eta �[36m0:00:00�[0m
Step #5: Step #4: �[?25hDownloading requests_toolbelt-0.10.1-py2.py3-none-any.whl (54 kB)
Step #5: Step #4: �[?25l   �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m0.0/54.5 kB�[0m �[31m?�[0m eta �[36m-:--:--�[0m
�[2K   �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m54.5/54.5 kB�[0m �[31m7.3 MB/s�[0m eta �[36m0:00:00�[0m
Step #5: Step #4: �[?25hDownloading urllib3-1.26.19-py2.py3-none-any.whl (143 kB)
Step #5: Step #4: �[?25l   �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m0.0/143.9 kB�[0m �[31m?�[0m eta �[36m-:--:--�[0m
�[2K   �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m143.9/143.9 kB�[0m �[31m20.1 MB/s�[0m eta �[36m0:00:00�[0m
Step #5: Step #4: �[?25hDownloading requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB)
Step #5: Step #4: Downloading oauthlib-3.2.2-py3-none-any.whl (151 kB)
Step #5: Step #4: �[?25l   �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m0.0/151.7 kB�[0m �[31m?�[0m eta �[36m-:--:--�[0m
�[2K   �[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━�[0m �[32m151.7/151.7 kB�[0m �[31m21.2 MB/s�[0m eta �[36m0:00:00�[0m
Step #5: Step #4: �[?25hBuilding wheels for collected packages: kfp, kfp-server-api
Step #5: Step #4:   Building wheel for kfp (pyproject.toml) ... �[?25l-� �\� �|� �done
Step #5: Step #4: �[?25h  Created wheel for kfp: filename=kfp-2.7.0-py3-none-any.whl size=610417 sha256=68f883a4b7112c9fdff36716d37555a69dbbf2ae9d82676ff976cde40495bae1
Step #5: Step #4:   Stored in directory: /builder/home/.cache/pip/wheels/6b/21/04/3a90a57cfed7fb3b132d75ef1617fdeaa85916b04551d5369d
Step #5: Step #4:   Building wheel for kfp-server-api (pyproject.toml) ... �[?25l-� �done
Step #5: Step #4: �[?25h  Created wheel for kfp-server-api: filename=kfp_server_api-2.0.5-py3-none-any.whl size=114731 sha256=0fa33442dd9e477c9b0275053612049e07cd362a81a28585fe7bd8bb556a8001
Step #5: Step #4:   Stored in directory: /builder/home/.cache/pip/wheels/a6/c9/de/9f6964cdffc4d454c0a96d34f9b5ea5e51fc3224ec379222ff
Step #5: Step #4: Successfully built kfp kfp-server-api
Step #5: Step #4: Installing collected packages: urllib3, oauthlib, kfp-pipeline-spec, kfp-server-api, requests-toolbelt, requests-oauthlib, kubernetes, kfp, google-cloud-pipeline-components
Step #5: Step #4:   Attempting uninstall: urllib3
Step #5: Step #4:     Found existing installation: urllib3 2.2.2
Step #5: Step #4:     Uninstalling urllib3-2.2.2:
Step #5: Step #4:       Successfully uninstalled urllib3-2.2.2
Step #5: Step #4: Successfully installed google-cloud-pipeline-components-2.15.0 kfp-2.7.0 kfp-pipeline-spec-0.3.0 kfp-server-api-2.0.5 kubernetes-26.1.0 oauthlib-3.2.2 requests-oauthlib-2.0.0 requests-toolbelt-0.10.1 urllib3-1.26.19
Step #5: Step #4: KFP SDK version: 2.7.0
Step #5: Step #4: 
Step #5: Step #4: 
Step #5: Step #4: Updates are available for some Google Cloud CLI components.  To install them,
Step #5: Step #4: please run:
Step #5: Step #4:   $ gcloud components update
Step #5: Step #4: 
Step #5: Step #4: Creating gs://your-bucket-name-python-docs-samples-tests-d8ddexma/...
Step #5: Step #4: 
Executing:   0%|          | 0/71 [00:00<?, ?cell/s]
Executing:   1%|▏         | 1/71 [00:00<01:09,  1.01cell/s]
Executing:   8%|▊         | 6/71 [00:01<00:09,  7.09cell/s]
Executing:  10%|▉         | 7/71 [00:20<00:09,  7.09cell/s]
Executing:  11%|█▏        | 8/71 [00:21<03:40,  3.51s/cell]
Executing:  15%|█▌        | 11/71 [00:21<02:03,  2.06s/cell]
Executing:  20%|█▉        | 14/71 [00:23<01:25,  1.49s/cell]
Executing:  24%|██▍       | 17/71 [00:23<00:53,  1.01cell/s]
Executing:  28%|██▊       | 20/71 [00:23<00:34,  1.49cell/s]
Executing:  32%|███▏      | 23/71 [00:27<00:40,  1.17cell/s]
Executing:  37%|███▋      | 26/71 [00:32<00:51,  1.15s/cell]
Executing:  39%|███▉      | 28/71 [00:34<00:49,  1.15s/cell]
Executing:  44%|████▎     | 31/71 [00:35<00:31,  1.27cell/s]
Executing:  48%|████▊     | 34/71 [00:35<00:20,  1.83cell/s]/workspace/workspace/env/lib/python3.9/site-packages/kfp/dsl/component_decorator.py:119: FutureWarning: Python 3.7 has reached end-of-life. The default base_image used by the @dsl.component decorator will switch from 'python:3.7' to 'python:3.8' on April 23, 2024. 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.8.
Step #5: Step #4:   return component_factory.create_component_from_func(
Step #5: Step #4: 
Step #5: Step #4: /workspace/workspace/env/lib/python3.9/site-packages/kfp/dsl/component_decorator.py:119: FutureWarning: Python 3.7 has reached end-of-life. The default base_image used by the @dsl.component decorator will switch from 'python:3.7' to 'python:3.8' on April 23, 2024. 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.8.
Step #5: Step #4:   return component_factory.create_component_from_func(
Step #5: Step #4: Creating PipelineJob
Step #5: Step #4: PipelineJob created. Resource name: projects/1012616486416/locations/us-central1/pipelineJobs/intro-pipeline-4q2q2fik-20240701200604
Step #5: Step #4: To use this PipelineJob in another session:
Step #5: Step #4: pipeline_job = aiplatform.PipelineJob.get('projects/1012616486416/locations/us-central1/pipelineJobs/intro-pipeline-4q2q2fik-20240701200604')
Step #5: Step #4: View Pipeline Job:
Step #5: Step #4: https://console.cloud.google.com/vertex-ai/locations/us-central1/pipelines/runs/intro-pipeline-4q2q2fik-20240701200604?project=1012616486416
Step #5: Step #4: PipelineJob projects/1012616486416/locations/us-central1/pipelineJobs/intro-pipeline-4q2q2fik-20240701200604 current state:
Step #5: Step #4: PipelineState.PIPELINE_STATE_RUNNING
Step #5: Step #4: PipelineJob projects/1012616486416/locations/us-central1/pipelineJobs/intro-pipeline-4q2q2fik-20240701200604 current state:
Step #5: Step #4: PipelineState.PIPELINE_STATE_RUNNING
Step #5: Step #4: PipelineJob projects/1012616486416/locations/us-central1/pipelineJobs/intro-pipeline-4q2q2fik-20240701200604 current state:
Step #5: Step #4: PipelineState.PIPELINE_STATE_RUNNING
Step #5: Step #4: PipelineJob projects/1012616486416/locations/us-central1/pipelineJobs/intro-pipeline-4q2q2fik-20240701200604 current state:
Step #5: Step #4: PipelineState.PIPELINE_STATE_RUNNING
Step #5: Step #4: PipelineJob projects/1012616486416/locations/us-central1/pipelineJobs/intro-pipeline-4q2q2fik-20240701200604 current state:
Step #5: Step #4: PipelineState.PIPELINE_STATE_RUNNING
Step #5: Step #4: PipelineJob run completed. Resource name: projects/1012616486416/locations/us-central1/pipelineJobs/intro-pipeline-4q2q2fik-20240701200604
Step #5: Step #4: Deleting PipelineJob : projects/1012616486416/locations/us-central1/pipelineJobs/intro-pipeline-4q2q2fik-20240701200604
Step #5: Step #4: PipelineJob deleted. . Resource name: projects/1012616486416/locations/us-central1/pipelineJobs/intro-pipeline-4q2q2fik-20240701200604
Step #5: Step #4: Deleting Pipeli
...
[Logs truncated due to log size limitations. For full logs, see https://console.cloud.google.com/cloud-build/builds;region=us-central1/eec7893f-2557-478c-9676-3a73ee22f9fa?project=1012616486416.]
...
-no-warn-script-location 'kfp==2.7.0' '--no-deps' 'typing-extensions\u003e=3.7.4,\u003c5; python_version\u003c\"3.9\"' && \"$0\" \"$@\"\n",
Step #5: Step #4:               "sh",
Step #5: Step #4:               "-ec",
Step #5: Step #4:               "program_path=$(mktemp -d)\n\nprintf \"%s\" \"$0\" \u003e \"$program_path/ephemeral_component.py\"\n_KFP_RUNTIME=true python3 -m kfp.dsl.executor_main                         --component_module_path                         \"$program_path/ephemeral_component.py\"                         \"$@\"\n",
Step #5: Step #4:               "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import *\n\ndef consumer(text1: str, text2: str, text3: str) -\u003e str:\n    print(f\"text1: {text1}; text2: {text2}; text3: {text3}\")\n    return f\"text1: {text1}; text2: {text2}; text3: {text3}\"\n\n"
Step #5: Step #4:             ],
Step #5: Step #4:             "args": [
Step #5: Step #4:               "--executor_input",
Step #5: Step #4:               "{{$}}",
Step #5: Step #4:               "--function_to_execute",
Step #5: Step #4:               "consumer"
Step #5: Step #4:             ]
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "exec-hello-world": {
Step #5: Step #4:           "container": {
Step #5: Step #4:             "image": "python:3.9",
Step #5: Step #4:             "command": [
Step #5: Step #4:               "sh",
Step #5: Step #4:               "-c",
Step #5: Step #4:               "\nif ! [ -x \"$(command -v pip)\" ]; then\n    python3 -m ensurepip || python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0' '--no-deps' 'typing-extensions\u003e=3.7.4,\u003c5; python_version\u003c\"3.9\"' && \"$0\" \"$@\"\n",
Step #5: Step #4:               "sh",
Step #5: Step #4:               "-ec",
Step #5: Step #4:               "program_path=$(mktemp -d)\n\nprintf \"%s\" \"$0\" \u003e \"$program_path/ephemeral_component.py\"\n_KFP_RUNTIME=true python3 -m kfp.dsl.executor_main                         --component_module_path                         \"$program_path/ephemeral_component.py\"                         \"$@\"\n",
Step #5: Step #4:               "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import *\n\ndef hello_world(text: str) -\u003e str:\n    print(text)\n    return text\n\n"
Step #5: Step #4:             ],
Step #5: Step #4:             "args": [
Step #5: Step #4:               "--executor_input",
Step #5: Step #4:               "{{$}}",
Step #5: Step #4:               "--function_to_execute",
Step #5: Step #4:               "hello_world"
Step #5: Step #4:             ]
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "exec-two-outputs": {
Step #5: Step #4:           "container": {
Step #5: Step #4:             "image": "python:3.7",
Step #5: Step #4:             "command": [
Step #5: Step #4:               "sh",
Step #5: Step #4:               "-c",
Step #5: Step #4:               "\nif ! [ -x \"$(command -v pip)\" ]; then\n    python3 -m ensurepip || python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0' '--no-deps' 'typing-extensions\u003e=3.7.4,\u003c5; python_version\u003c\"3.9\"'  &&  python3 -m pip install --quiet --no-warn-script-location 'google-cloud-storage' && \"$0\" \"$@\"\n",
Step #5: Step #4:               "sh",
Step #5: Step #4:               "-ec",
Step #5: Step #4:               "program_path=$(mktemp -d)\n\nprintf \"%s\" \"$0\" \u003e \"$program_path/ephemeral_component.py\"\n_KFP_RUNTIME=true python3 -m kfp.dsl.executor_main                         --component_module_path                         \"$program_path/ephemeral_component.py\"                         \"$@\"\n",
Step #5: Step #4:               "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import *\n\ndef two_outputs(\n    text: str,\n) -\u003e NamedTuple(\n    \"Outputs\",\n    [\n        (\"output_one\", str),  # Return parameters\n        (\"output_two\", str),\n    ],\n):\n    # the import is not actually used for this simple example, but the import\n    # is successful, as it was included in the `packages_to_install` list.\n    from google.cloud import storage  # noqa: F401\n\n    o1 = f\"output one from text: {text}\"\n    o2 = f\"output two from text: {text}\"\n    print(\"output one: {}; output_two: {}\".format(o1, o2))\n    return (o1, o2)\n\n"
Step #5: Step #4:             ],
Step #5: Step #4:             "args": [
Step #5: Step #4:               "--executor_input",
Step #5: Step #4:               "{{$}}",
Step #5: Step #4:               "--function_to_execute",
Step #5: Step #4:               "two_outputs"
Step #5: Step #4:             ]
Step #5: Step #4:           }
Step #5: Step #4:         }
Step #5: Step #4:       }
Step #5: Step #4:     },
Step #5: Step #4:     "components": {
Step #5: Step #4:       "comp-consumer": {
Step #5: Step #4:         "inputDefinitions": {
Step #5: Step #4:           "parameters": {
Step #5: Step #4:             "text1": {
Step #5: Step #4:               "parameterType": "STRING"
Step #5: Step #4:             },
Step #5: Step #4:             "text2": {
Step #5: Step #4:               "parameterType": "STRING"
Step #5: Step #4:             },
Step #5: Step #4:             "text3": {
Step #5: Step #4:               "parameterType": "STRING"
Step #5: Step #4:             }
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "outputDefinitions": {
Step #5: Step #4:           "parameters": {
Step #5: Step #4:             "Output": {
Step #5: Step #4:               "parameterType": "STRING"
Step #5: Step #4:             }
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "executorLabel": "exec-consumer"
Step #5: Step #4:       },
Step #5: Step #4:       "comp-hello-world": {
Step #5: Step #4:         "inputDefinitions": {
Step #5: Step #4:           "parameters": {
Step #5: Step #4:             "text": {
Step #5: Step #4:               "parameterType": "STRING"
Step #5: Step #4:             }
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "outputDefinitions": {
Step #5: Step #4:           "parameters": {
Step #5: Step #4:             "Output": {
Step #5: Step #4:               "parameterType": "STRING"
Step #5: Step #4:             }
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "executorLabel": "exec-hello-world"
Step #5: Step #4:       },
Step #5: Step #4:       "comp-two-outputs": {
Step #5: Step #4:         "inputDefinitions": {
Step #5: Step #4:           "parameters": {
Step #5: Step #4:             "text": {
Step #5: Step #4:               "parameterType": "STRING"
Step #5: Step #4:             }
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "outputDefinitions": {
Step #5: Step #4:           "parameters": {
Step #5: Step #4:             "output_one": {
Step #5: Step #4:               "parameterType": "STRING"
Step #5: Step #4:             },
Step #5: Step #4:             "output_two": {
Step #5: Step #4:               "parameterType": "STRING"
Step #5: Step #4:             }
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "executorLabel": "exec-two-outputs"
Step #5: Step #4:       }
Step #5: Step #4:     },
Step #5: Step #4:     "schemaVersion": "2.1.0",
Step #5: Step #4:     "root": {
Step #5: Step #4:       "inputDefinitions": {
Step #5: Step #4:         "parameters": {
Step #5: Step #4:           "text": {
Step #5: Step #4:             "parameterType": "STRING",
Step #5: Step #4:             "defaultValue": "hi there",
Step #5: Step #4:             "isOptional": true
Step #5: Step #4:           }
Step #5: Step #4:         }
Step #5: Step #4:       },
Step #5: Step #4:       "dag": {
Step #5: Step #4:         "tasks": {
Step #5: Step #4:           "consumer": {
Step #5: Step #4:             "taskInfo": {
Step #5: Step #4:               "name": "consumer"
Step #5: Step #4:             },
Step #5: Step #4:             "inputs": {
Step #5: Step #4:               "parameters": {
Step #5: Step #4:                 "text1": {
Step #5: Step #4:                   "taskOutputParameter": {
Step #5: Step #4:                     "producerTask": "hello-world",
Step #5: Step #4:                     "outputParameterKey": "Output"
Step #5: Step #4:                   }
Step #5: Step #4:                 },
Step #5: Step #4:                 "text2": {
Step #5: Step #4:                   "taskOutputParameter": {
Step #5: Step #4:                     "producerTask": "two-outputs",
Step #5: Step #4:                     "outputParameterKey": "output_one"
Step #5: Step #4:                   }
Step #5: Step #4:                 },
Step #5: Step #4:                 "text3": {
Step #5: Step #4:                   "taskOutputParameter": {
Step #5: Step #4:                     "producerTask": "two-outputs",
Step #5: Step #4:                     "outputParameterKey": "output_two"
Step #5: Step #4:                   }
Step #5: Step #4:                 }
Step #5: Step #4:               }
Step #5: Step #4:             },
Step #5: Step #4:             "dependentTasks": [
Step #5: Step #4:               "hello-world",
Step #5: Step #4:               "two-outputs"
Step #5: Step #4:             ],
Step #5: Step #4:             "cachingOptions": {
Step #5: Step #4:               "enableCache": true
Step #5: Step #4:             },
Step #5: Step #4:             "componentRef": {
Step #5: Step #4:               "name": "comp-consumer"
Step #5: Step #4:             }
Step #5: Step #4:           },
Step #5: Step #4:           "hello-world": {
Step #5: Step #4:             "taskInfo": {
Step #5: Step #4:               "name": "hello-world"
Step #5: Step #4:             },
Step #5: Step #4:             "inputs": {
Step #5: Step #4:               "parameters": {
Step #5: Step #4:                 "text": {
Step #5: Step #4:                   "componentInputParameter": "text"
Step #5: Step #4:                 }
Step #5: Step #4:               }
Step #5: Step #4:             },
Step #5: Step #4:             "cachingOptions": {
Step #5: Step #4:               "enableCache": true
Step #5: Step #4:             },
Step #5: Step #4:             "componentRef": {
Step #5: Step #4:               "name": "comp-hello-world"
Step #5: Step #4:             }
Step #5: Step #4:           },
Step #5: Step #4:           "two-outputs": {
Step #5: Step #4:             "taskInfo": {
Step #5: Step #4:               "name": "two-outputs"
Step #5: Step #4:             },
Step #5: Step #4:             "inputs": {
Step #5: Step #4:               "parameters": {
Step #5: Step #4:                 "text": {
Step #5: Step #4:                   "componentInputParameter": "text"
Step #5: Step #4:                 }
Step #5: Step #4:               }
Step #5: Step #4:             },
Step #5: Step #4:             "cachingOptions": {
Step #5: Step #4:               "enableCache": true
Step #5: Step #4:             },
Step #5: Step #4:             "componentRef": {
Step #5: Step #4:               "name": "comp-two-outputs"
Step #5: Step #4:             }
Step #5: Step #4:           }
Step #5: Step #4:         }
Step #5: Step #4:       }
Step #5: Step #4:     },
Step #5: Step #4:     "defaultPipelineRoot": "gs://your-bucket-name-python-docs-samples-tests-d8ddexma/pipeline_root/intro",
Step #5: Step #4:     "sdkVersion": "kfp-2.7.0",
Step #5: Step #4:     "pipelineInfo": {
Step #5: Step #4:       "name": "intro-pipeline-4q2q2fik",
Step #5: Step #4:       "description": "A simple intro pipeline"
Step #5: Step #4:     },
Step #5: Step #4:     "deploymentSpec": {
Step #5: Step #4:       "executors": {
Step #5: Step #4:         "exec-consumer": {
Step #5: Step #4:           "container": {
Step #5: Step #4:             "image": "python:3.7",
Step #5: Step #4:             "command": [
Step #5: Step #4:               "sh",
Step #5: Step #4:               "-c",
Step #5: Step #4:               "\nif ! [ -x \"$(command -v pip)\" ]; then\n    python3 -m ensurepip || python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0' '--no-deps' 'typing-extensions\u003e=3.7.4,\u003c5; python_version\u003c\"3.9\"' && \"$0\" \"$@\"\n",
Step #5: Step #4:               "sh",
Step #5: Step #4:               "-ec",
Step #5: Step #4:               "program_path=$(mktemp -d)\n\nprintf \"%s\" \"$0\" \u003e \"$program_path/ephemeral_component.py\"\n_KFP_RUNTIME=true python3 -m kfp.dsl.executor_main                         --component_module_path                         \"$program_path/ephemeral_component.py\"                         \"$@\"\n",
Step #5: Step #4:               "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import *\n\ndef consumer(text1: str, text2: str, text3: str) -\u003e str:\n    print(f\"text1: {text1}; text2: {text2}; text3: {text3}\")\n    return f\"text1: {text1}; text2: {text2}; text3: {text3}\"\n\n"
Step #5: Step #4:             ],
Step #5: Step #4:             "args": [
Step #5: Step #4:               "--executor_input",
Step #5: Step #4:               "{{$}}",
Step #5: Step #4:               "--function_to_execute",
Step #5: Step #4:               "consumer"
Step #5: Step #4:             ]
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "exec-hello-world": {
Step #5: Step #4:           "container": {
Step #5: Step #4:             "image": "python:3.9",
Step #5: Step #4:             "command": [
Step #5: Step #4:               "sh",
Step #5: Step #4:               "-c",
Step #5: Step #4:               "\nif ! [ -x \"$(command -v pip)\" ]; then\n    python3 -m ensurepip || python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0' '--no-deps' 'typing-extensions\u003e=3.7.4,\u003c5; python_version\u003c\"3.9\"' && \"$0\" \"$@\"\n",
Step #5: Step #4:               "sh",
Step #5: Step #4:               "-ec",
Step #5: Step #4:               "program_path=$(mktemp -d)\n\nprintf \"%s\" \"$0\" \u003e \"$program_path/ephemeral_component.py\"\n_KFP_RUNTIME=true python3 -m kfp.dsl.executor_main                         --component_module_path                         \"$program_path/ephemeral_component.py\"                         \"$@\"\n",
Step #5: Step #4:               "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import *\n\ndef hello_world(text: str) -\u003e str:\n    print(text)\n    return text\n\n"
Step #5: Step #4:             ],
Step #5: Step #4:             "args": [
Step #5: Step #4:               "--executor_input",
Step #5: Step #4:               "{{$}}",
Step #5: Step #4:               "--function_to_execute",
Step #5: Step #4:               "hello_world"
Step #5: Step #4:             ]
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "exec-two-outputs": {
Step #5: Step #4:           "container": {
Step #5: Step #4:             "image": "python:3.7",
Step #5: Step #4:             "command": [
Step #5: Step #4:               "sh",
Step #5: Step #4:               "-c",
Step #5: Step #4:               "\nif ! [ -x \"$(command -v pip)\" ]; then\n    python3 -m ensurepip || python3 -m ensurepip --user || apt-get install python3-pip\nfi\n\nPIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location 'kfp==2.7.0' '--no-deps' 'typing-extensions\u003e=3.7.4,\u003c5; python_version\u003c\"3.9\"'  &&  python3 -m pip install --quiet --no-warn-script-location 'google-cloud-storage' && \"$0\" \"$@\"\n",
Step #5: Step #4:               "sh",
Step #5: Step #4:               "-ec",
Step #5: Step #4:               "program_path=$(mktemp -d)\n\nprintf \"%s\" \"$0\" \u003e \"$program_path/ephemeral_component.py\"\n_KFP_RUNTIME=true python3 -m kfp.dsl.executor_main                         --component_module_path                         \"$program_path/ephemeral_component.py\"                         \"$@\"\n",
Step #5: Step #4:               "\nimport kfp\nfrom kfp import dsl\nfrom kfp.dsl import *\nfrom typing import *\n\ndef two_outputs(\n    text: str,\n) -\u003e NamedTuple(\n    \"Outputs\",\n    [\n        (\"output_one\", str),  # Return parameters\n        (\"output_two\", str),\n    ],\n):\n    # the import is not actually used for this simple example, but the import\n    # is successful, as it was included in the `packages_to_install` list.\n    from google.cloud import storage  # noqa: F401\n\n    o1 = f\"output one from text: {text}\"\n    o2 = f\"output two from text: {text}\"\n    print(\"output one: {}; output_two: {}\".format(o1, o2))\n    return (o1, o2)\n\n"
Step #5: Step #4:             ],
Step #5: Step #4:             "args": [
Step #5: Step #4:               "--executor_input",
Step #5: Step #4:               "{{$}}",
Step #5: Step #4:               "--function_to_execute",
Step #5: Step #4:               "two_outputs"
Step #5: Step #4:             ]
Step #5: Step #4:           }
Step #5: Step #4:         }
Step #5: Step #4:       }
Step #5: Step #4:     }
Step #5: Step #4:   },
Step #5: Step #4:   "state": "PIPELINE_STATE_RUNNING",
Step #5: Step #4:   "jobDetail": {
Step #5: Step #4:     "pipelineContext": {
Step #5: Step #4:       "name": "projects/1012616486416/locations/us-central1/metadataStores/default/contexts/intro-pipeline-4q2q2fik",
Step #5: Step #4:       "displayName": "intro-pipeline-4q2q2fik",
Step #5: Step #4:       "etag": "1719864771357",
Step #5: Step #4:       "createTime": "2024-07-01T20:06:06.117Z",
Step #5: Step #4:       "updateTime": "2024-07-01T20:12:51.357Z",
Step #5: Step #4:       "schemaTitle": "system.Pipeline",
Step #5: Step #4:       "schemaVersion": "0.0.1",
Step #5: Step #4:       "metadata": {}
Step #5: Step #4:     },
Step #5: Step #4:     "pipelineRunContext": {
Step #5: Step #4:       "name": "projects/1012616486416/locations/us-central1/metadataStores/default/contexts/intro-pipeline-job-l3fo7be9",
Step #5: Step #4:       "displayName": "intro-pipeline-job-l3fo7be9",
Step #5: Step #4:       "etag": "1719864771471",
Step #5: Step #4:       "createTime": "2024-07-01T20:12:51.471Z",
Step #5: Step #4:       "updateTime": "2024-07-01T20:12:51.471Z",
Step #5: Step #4:       "parentContexts": [
Step #5: Step #4:         "projects/1012616486416/locations/us-central1/metadataStores/default/contexts/intro-pipeline-4q2q2fik"
Step #5: Step #4:       ],
Step #5: Step #4:       "schemaTitle": "system.PipelineRun",
Step #5: Step #4:       "schemaVersion": "0.0.1",
Step #5: Step #4:       "metadata": {}
Step #5: Step #4:     },
Step #5: Step #4:     "taskDetails": [
Step #5: Step #4:       {
Step #5: Step #4:         "taskId": "-6740361626681081856",
Step #5: Step #4:         "taskName": "intro-pipeline-job-l3fo7be9",
Step #5: Step #4:         "createTime": "2024-07-01T20:12:51.290031Z",
Step #5: Step #4:         "startTime": "2024-07-01T20:12:51.977871Z",
Step #5: Step #4:         "executorDetail": {},
Step #5: Step #4:         "state": "RUNNING",
Step #5: Step #4:         "execution": {
Step #5: Step #4:           "name": "projects/1012616486416/locations/us-central1/metadataStores/default/executions/17468289288802995991",
Step #5: Step #4:           "displayName": "intro-pipeline-job-l3fo7be9",
Step #5: Step #4:           "state": "RUNNING",
Step #5: Step #4:           "etag": "1719864771856",
Step #5: Step #4:           "createTime": "2024-07-01T20:12:51.856Z",
Step #5: Step #4:           "updateTime": "2024-07-01T20:12:51.856Z",
Step #5: Step #4:           "schemaTitle": "system.Run",
Step #5: Step #4:           "schemaVersion": "0.0.1",
Step #5: Step #4:           "metadata": {
Step #5: Step #4:             "vmlmd_lineage_integration": {
Step #5: Step #4:               "pipeline_run_component": {
Step #5: Step #4:                 "parent_task_names": [],
Step #5: Step #4:                 "task_name": "intro-pipeline-job-l3fo7be9",
Step #5: Step #4:                 "pipeline_run_id": "intro-pipeline-job-l3fo7be9",
Step #5: Step #4:                 "project_id": "python-docs-samples-tests",
Step #5: Step #4:                 "location_id": "us-central1"
Step #5: Step #4:               }
Step #5: Step #4:             },
Step #5: Step #4:             "input:text": "hi there"
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "pipelineTaskStatus": [
Step #5: Step #4:           {
Step #5: Step #4:             "updateTime": "2024-07-01T20:12:51.795385215Z",
Step #5: Step #4:             "state": "RUNNING"
Step #5: Step #4:           }
Step #5: Step #4:         ]
Step #5: Step #4:       },
Step #5: Step #4:       {
Step #5: Step #4:         "taskId": "-3930115459201892352",
Step #5: Step #4:         "taskName": "hello-world",
Step #5: Step #4:         "createTime": "2024-07-01T20:12:51.977871Z",
Step #5: Step #4:         "startTime": "2024-07-01T20:12:52.546777Z",
Step #5: Step #4:         "endTime": "2024-07-01T20:12:52.546777Z",
Step #5: Step #4:         "executorDetail": {
Step #5: Step #4:           "containerDetail": {
Step #5: Step #4:             "mainJob": "projects/1012616486416/locations/us-central1/customJobs/2344517403007778816"
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "state": "SKIPPED",
Step #5: Step #4:         "execution": {
Step #5: Step #4:           "name": "projects/1012616486416/locations/us-central1/metadataStores/default/executions/6145563962678182717",
Step #5: Step #4:           "displayName": "hello-world",
Step #5: Step #4:           "state": "CACHED",
Step #5: Step #4:           "etag": "1719864772505",
Step #5: Step #4:           "createTime": "2024-07-01T20:12:52.185Z",
Step #5: Step #4:           "updateTime": "2024-07-01T20:12:52.505Z",
Step #5: Step #4:           "schemaTitle": "system.ContainerExecution",
Step #5: Step #4:           "schemaVersion": "0.0.1",
Step #5: Step #4:           "metadata": {
Step #5: Step #4:             "output:Output": "hi there",
Step #5: Step #4:             "vmlmd_lineage_integration": {
Step #5: Step #4:               "pipeline_run_component": {
Step #5: Step #4:                 "location_id": "us-central1",
Step #5: Step #4:                 "project_id": "python-docs-samples-tests",
Step #5: Step #4:                 "parent_task_names": [
Step #5: Step #4:                   "intro-pipeline-4q2q2fik-20240701201037"
Step #5: Step #4:                 ],
Step #5: Step #4:                 "pipeline_run_id": "intro-pipeline-4q2q2fik-20240701201037",
Step #5: Step #4:                 "task_name": "hello-world"
Step #5: Step #4:               }
Step #5: Step #4:             },
Step #5: Step #4:             "input:text": "hi there"
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "parentTaskId": "-6740361626681081856",
Step #5: Step #4:         "pipelineTaskStatus": [
Step #5: Step #4:           {
Step #5: Step #4:             "updateTime": "2024-07-01T20:12:52.446723698Z",
Step #5: Step #4:             "state": "SKIPPED"
Step #5: Step #4:           }
Step #5: Step #4:         ]
Step #5: Step #4:       },
Step #5: Step #4:       {
Step #5: Step #4:         "taskId": "2987413568439189504",
Step #5: Step #4:         "taskName": "two-outputs",
Step #5: Step #4:         "createTime": "2024-07-01T20:12:51.977871Z",
Step #5: Step #4:         "startTime": "2024-07-01T20:12:52.736067Z",
Step #5: Step #4:         "endTime": "2024-07-01T20:12:52.736067Z",
Step #5: Step #4:         "executorDetail": {
Step #5: Step #4:           "containerDetail": {
Step #5: Step #4:             "mainJob": "projects/1012616486416/locations/us-central1/customJobs/2038272628346585088"
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "state": "SKIPPED",
Step #5: Step #4:         "execution": {
Step #5: Step #4:           "name": "projects/1012616486416/locations/us-central1/metadataStores/default/executions/14517440568590960592",
Step #5: Step #4:           "displayName": "two-outputs",
Step #5: Step #4:           "state": "CACHED",
Step #5: Step #4:           "etag": "1719864772487",
Step #5: Step #4:           "createTime": "2024-07-01T20:12:52.183Z",
Step #5: Step #4:           "updateTime": "2024-07-01T20:12:52.487Z",
Step #5: Step #4:           "schemaTitle": "system.ContainerExecution",
Step #5: Step #4:           "schemaVersion": "0.0.1",
Step #5: Step #4:           "metadata": {
Step #5: Step #4:             "output:output_one": "output one from text: hi there",
Step #5: Step #4:             "vmlmd_lineage_integration": {
Step #5: Step #4:               "pipeline_run_component": {
Step #5: Step #4:                 "project_id": "python-docs-samples-tests",
Step #5: Step #4:                 "parent_task_names": [
Step #5: Step #4:                   "intro-pipeline-4q2q2fik-20240701201037"
Step #5: Step #4:                 ],
Step #5: Step #4:                 "pipeline_run_id": "intro-pipeline-4q2q2fik-20240701201037",
Step #5: Step #4:                 "location_id": "us-central1",
Step #5: Step #4:                 "task_name": "two-outputs"
Step #5: Step #4:               }
Step #5: Step #4:             },
Step #5: Step #4:             "input:text": "hi there",
Step #5: Step #4:             "output:output_two": "output two from text: hi there"
Step #5: Step #4:           }
Step #5: Step #4:         },
Step #5: Step #4:         "parentTaskId": "-6740361626681081856",
Step #5: Step #4:         "pipelineTaskStatus": [
Step #5: Step #4:           {
Step #5: Step #4:             "updateTime": "2024-07-01T20:12:52.439926349Z",
Step #5: Step #4:             "state": "SKIPPED"
Step #5: Step #4:           }
Step #5: Step #4:         ]
Step #5: Step #4:       },
Step #5: Step #4:       {
Step #5: Step #4:         "taskId": "5293256577652883456",
Step #5: Step #4:         "taskName": "consumer",
Step #5: Step #4:         "createTime": "2024-07-01T20:12:51.977871Z",
Step #5: Step #4:         "executorDetail": {},
Step #5: Step #4:         "state": "PENDING",
Step #5: Step #4:         "parentTaskId": "-6740361626681081856",
Step #5: Step #4:         "pipelineTaskStatus": [
Step #5: Step #4:           {
Step #5: Step #4:             "updateTime": "2024-07-01T20:12:52.799213975Z",
Step #5: Step #4:             "state": "PENDING"
Step #5: Step #4:           }
Step #5: Step #4:         ]
Step #5: Step #4:       }
Step #5: Step #4:     ]
Step #5: Step #4:   },
Step #5: Step #4:   "labels": {
Step #5: Step #4:     "vertex-ai-pipelines-run-billing-id": "4299714162575015936"
Step #5: Step #4:   },
Step #5: Step #4:   "runtimeConfig": {
Step #5: Step #4:     "gcsOutputDirectory": "gs://your-bucket-name-python-docs-samples-tests-d8ddexma/pipeline_root/intro"
Step #5: Step #4:   },
Step #5: Step #4:   "serviceAccount": "1012616486416-compute@developer.gserviceaccount.com"
Step #5: Step #4: }
Step #5: Step #4: {
Step #5: Step #4:   "error": {
Step #5: Step #4:     "code": 400,
Step #5: Step #4:     "message": "The PipelineJob \"projects/python-docs-samples-tests/locations/us-central1/pipelineJobs/intro-pipeline-job-l3fo7be9\" is in state JOB_STATE_SUCCEEDED and cannot be canceled.",
Step #5: Step #4:     "status": "FAILED_PRECONDITION"
Step #5: Step #4:   }
Step #5: Step #4: }
Step #5: Step #4: {
Step #5: Step #4:   "name": "projects/1012616486416/locations/us-central1/operations/5832465841647517696",
Step #5: Step #4:   "metadata": {
Step #5: Step #4:     "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.DeleteOperationMetadata",
Step #5: Step #4:     "genericMetadata": {
Step #5: Step #4:       "createTime": "2024-07-01T20:12:57.351407Z",
Step #5: Step #4:       "updateTime": "2024-07-01T20:12:57.351407Z"
Step #5: Step #4:     }
Step #5: Step #4:   },
Step #5: Step #4:   "done": true,
Step #5: Step #4:   "response": {
Step #5: Step #4:     "@type": "type.googleapis.com/google.protobuf.Empty"
Step #5: Step #4:   }
Step #5: Step #4: }
Step #5: Step #4: 
Executing:  52%|█████▏    | 37/71 [00:35<00:13,  2.58cell/s]
Executing:  56%|█████▋    | 40/71 [00:35<00:08,  3.58cell/s]
Executing:  61%|██████    | 43/71 [00:35<00:05,  4.84cell/s]
Executing:  62%|██████▏   | 44/71 [00:50<00:05,  4.84cell/s]
Executing:  63%|██████▎   | 45/71 [04:45<12:19, 28.45s/cell]
Executing:  68%|██████▊   | 48/71 [04:46<07:21, 19.21s/cell]
Executing:  69%|██████▉   | 49/71 [05:00<07:02, 19.21s/cell]
Executing:  70%|███████   | 50/71 [05:08<06:03, 17.30s/cell]
Executing:  73%|███████▎  | 52/71 [05:08<04:06, 12.96s/cell]
Executing:  75%|███████▍  | 53/71 [05:20<03:53, 12.96s/cell]
Executing:  76%|███████▌  | 54/71 [07:16<07:31, 26.53s/cell]
Executing:  79%|███████▉  | 56/71 [07:17<04:49, 19.28s/cell]
Executing:  83%|████████▎ | 59/71 [07:20<02:29, 12.50s/cell]
Executing:  86%|████████▌ | 61/71 [07:20<01:32,  9.25s/cell]
Executing:  89%|████████▊ | 63/71 [07:21<00:55,  6.93s/cell]
Executing:  92%|█████████▏| 65/71 [07:24<00:31,  5.31s/cell]
Executing:  94%|█████████▍| 67/71 [07:26<00:16,  4.11s/cell]
Executing:  97%|█████████▋| 69/71 [07:28<00:06,  3.24s/cell]
Executing: 100%|██████████| 71/71 [07:30<00:00,  2.58s/cell]
Executing: 100%|██████████| 71/71 [07:31<00:00,  6.35s/cell]
Step #5: Step #4: Copying file://notebooks/official/pipelines/pipelines_intro_kfp.ipynb [Content-Type=application/octet-stream]...
Step #5: Step #4: / [0 files][    0.0 B/443.3 KiB]                                                
/ [1 files][443.3 KiB/443.3 KiB]                                                
Step #5: Step #4: Operation completed over 1 objects/443.3 KiB.                                    
Step #5: Step #4: 
Step #5: Step #4: === EXECUTION FINISHED ===
Step #5: Step #4: 
Step #5: Finished Step #4
Step #5: PUSH
Step #5: DONE
Step #5: 
Step #5: Updating build results ...
Step #5: adding notebooks/official/pipelines/pipelines_intro_kfp.ipynb
Step #5: Saving accumulative results to build_results/eec7893f-2557-478c-9676-3a73ee22f9fa.json, nentries 1
Step #5: 
Step #5: === END RESULTS===
Step #5: 
Step #5: Cumulative notebook duration: 00:11:19
Finished Step #5
PUSH
DONE

Build Log: https://console.cloud.google.com/cloud-build/builds;region=us-central1/eec7893f-2557-478c-9676-3a73ee22f9fa?project=1012616486416