feat: custom job add feature #187
Merged
Google Cloud Build / dev-worker (dev-sst-02)
succeeded
Dec 15, 2025 in 4m 43s
Summary
Build Information
| Trigger | dev-worker |
| Build | 3482e98c-8408-443f-ac20-9abece2976ab |
| Start | 2025-12-15T11:52:41-08:00 |
| Duration | 4m41.965s |
| Status | SUCCESS |
Steps
| Step | Status | Duration |
|---|---|---|
| gcr.io/cloud-builders/docker | SUCCESS | 2m3.363s |
| gcr.io/cloud-builders/docker | SUCCESS | 1m11.247s |
| gcr.io/cloud-builders/docker | SUCCESS | 3.216s |
| gcr.io/cloud-builders/gcloud | SUCCESS | 1m19.356s |
Details
starting build "3482e98c-8408-443f-ac20-9abece2976ab"
FETCHSOURCE
From https://github.com/datakind/sst-app-api
* branch ddca88a167ed7c7635a79f0398e65bc14434aa6d -> FETCH_HEAD
HEAD is now at ddca88a fix: batch name renewal
GitCommit:
ddca88a167ed7c7635a79f0398e65bc14434aa6d
BUILD
Starting Step #0
Step #0: Already have image (with digest): gcr.io/cloud-builders/docker
Step #0: Sending build context to Docker daemon 1.692MB
Step #0: Step 1/14 : FROM python:3.10-slim-bookworm AS builder
Step #0: 3.10-slim-bookworm: Pulling from library/python
Step #0: ae4ce04d0e1c: Pulling fs layer
Step #0: d8c4a4bbd26b: Pulling fs layer
Step #0: 776bc8c87027: Pulling fs layer
Step #0: c26e5e7da277: Pulling fs layer
Step #0: c26e5e7da277: Verifying Checksum
Step #0: c26e5e7da277: Download complete
Step #0: d8c4a4bbd26b: Download complete
Step #0: 776bc8c87027: Verifying Checksum
Step #0: 776bc8c87027: Download complete
Step #0: ae4ce04d0e1c: Verifying Checksum
Step #0: ae4ce04d0e1c: Download complete
Step #0: ae4ce04d0e1c: Pull complete
Step #0: d8c4a4bbd26b: Pull complete
Step #0: 776bc8c87027: Pull complete
Step #0: c26e5e7da277: Pull complete
Step #0: Digest: sha256:6e343dac46beda4a69e708bfc21d1a91504b7bdb6cef357ba963b4220dec2189
Step #0: Status: Downloaded newer image for python:3.10-slim-bookworm
Step #0: ---> 57634b90df2c
Step #0: Step 2/14 : COPY --from=ghcr.io/astral-sh/uv:0.5.30 /uv /uvx /bin/
Step #0: 0.5.30: Pulling from astral-sh/uv
Step #0: 110868002cfe: Pulling fs layer
Step #0: 20346dd24510: Pulling fs layer
Step #0: 20346dd24510: Verifying Checksum
Step #0: 20346dd24510: Download complete
Step #0: 110868002cfe: Verifying Checksum
Step #0: 110868002cfe: Download complete
Step #0: 110868002cfe: Pull complete
Step #0: 20346dd24510: Pull complete
Step #0: Digest: sha256:bb74263127d6451222fe7f71b330edfb189ab1c98d7898df2401fbf4f272d9b9
Step #0: Status: Downloaded newer image for ghcr.io/astral-sh/uv:0.5.30
Step #0: ---> 351a979dc1c9
Step #0: Step 3/14 : ENV UV_COMPILE_BYTECODE=1
Step #0: ---> Running in d07f1f9255d2
Step #0: Removing intermediate container d07f1f9255d2
Step #0: ---> 792bb6c34347
Step #0: Step 4/14 : ENV UV_NO_CACHE=1
Step #0: ---> Running in 139cca73a084
Step #0: Removing intermediate container 139cca73a084
Step #0: ---> d757f073a010
Step #0: Step 5/14 : WORKDIR /app
Step #0: ---> Running in fdb0a7dea53c
Step #0: Removing intermediate container fdb0a7dea53c
Step #0: ---> f891bc2ccbad
Step #0: Step 6/14 : ADD uv.lock pyproject.toml /app/
Step #0: ---> 1c9493c2f29d
Step #0: Step 7/14 : RUN uv sync --frozen --no-install-project
Step #0: ---> Running in f26632859742
Step #0: �[91mUsing CPython 3.10.19 interpreter at: /usr/local/bin/python3
Step #0: �[0m�[91mCreating virtual environment at: .venv
Step #0: �[0m�[91mDownloading ruff (12.7MiB)
Step #0: �[0m�[91mDownloading pygments �[0m�[91m(1.2MiB)
Step #0: �[0m�[91mDownloading setuptools (1.1MiB)
Step #0: �[0m�[91mDownloading kiwisolver (1.6MiB)
Step #0: �[0m�[91mDownloading pynacl (1.3MiB)
Step #0: �[0m�[91mDownloading numpy (17.4MiB)
Step #0: �[0m�[91mDownloading scipy (35.9MiB)
Step #0: Downloading rapidfuzz (3.0MiB)
Step #0: �[0m�[91mDownloading babel (9.7MiB)
Step #0: �[0m�[91mDownloading debugpy (2.9MiB)
Step #0: Downloading cryptography (4.3MiB)
Step #0: Downloading�[0m�[91m scikit-learn (9.2MiB)
Step #0: Downloading sqlalchemy (3.1MiB)
Step #0: �[0m�[91mDownloading�[0m�[91m aiohttp (1.6MiB)
Step #0: Downloading pillow (6.7MiB)
Step #0: Downloading pycryptodome (2.0MiB)
Step #0: �[0m�[91mDownloading mlflow-skinny �[0m�[91m(5.2MiB)
Step #0: Downloading lz4 (1.3MiB)
Step #0: �[0m�[91mDownloading fonttools (4.6MiB)
Step #0: �[0m�[91mDownloading jedi (1.5MiB)
Step #0: �[0m�[91mDownloading uvloop (3.5MiB)
Step #0: �[0m�[91mDownloading pydantic-core (2.0MiB)
Step #0: �[0m�[91mDownloading pandas (12.5MiB)
Step #0: �[0m�[91mDownloading pyarrow (36.6MiB)
Step #0: Downloading black (1.7MiB)
Step #0: �[0m�[91mDownloading jupyterlab (11.7MiB)
Step #0: �[0m�[91mDownloading mlflow (25.1MiB)
Step #0: �[0m�[91mDownloading matplotlib (8.3MiB)
Step #0: �[0m�[91mDownloading mypy (12.6MiB)
Step #0: �[0m�[91m Downloaded lz4
Step #0: �[0m�[91m Downloaded pynacl
Step #0: �[0m�[91m Downloaded kiwisolver
Step #0: �[0m�[91m Downloaded aiohttp
Step #0: �[0m�[91m Downloaded pygments
Step #0: �[0m�[91m Downloaded pydantic-core
Step #0: �[0m�[91m Downloaded black
Step #0: �[0m�[91m Downloaded pycryptodome
Step #0: �[0m�[91m Downloaded setuptools
Step #0: �[0m�[91m Building thrift==0.20.0
Step #0: �[0m�[91m Downloaded sqlalchemy
Step #0: �[0m�[91m Downloaded rapidfuzz
Step #0: �[0m�[91m �[0m�[91mDownloaded�[0m�[91m �[0m�[91mdebugpy�[0m�[91m
Step #0: �[0m�[91m �[0m�[91mDownloaded �[0m�[91muvloop�[0m�[91m
Step #0: �[0m�[91m Downloaded fonttools
Step #0: �[0m�[91m Downloaded cryptography
Step #0: �[0m�[91m Downloaded pillow
Step #0: �[0m�[91m Downloaded mlflow-skinny
Step #0: �[0m�[91m �[0m�[91mBuilt thrift==0.20.0
Step #0: �[0m�[91m Downloaded matplotlib
Step #0: �[0m�[91m Downloaded babel
Step #0: �[0m�[91m Downloaded scikit-learn
Step #0: �[0m�[91m Downloaded ruff
Step #0: �[0m�[91m Downloaded jupyterlab
Step #0: �[0m�[91m Downloaded numpy
Step #0: �[0m�[91m Downloaded pandas
Step #0: �[0m�[91m Downloaded jedi
Step #0: �[0m�[91m Downloaded mlflow
Step #0: �[0m�[91m Downloaded pyarrow
Step #0: �[0m�[91m Downloaded scipy
Step #0: �[0m�[91m �[0m�[91mDownloaded�[0m�[91m �[0m�[91mmypy�[0m�[91m
Step #0: �[0m�[91mPrepared �[0m�[91m226 packages�[0m�[91m �[0m�[91min 11.72s�[0m�[91m
Step #0: �[0m�[91mInstalled 226 packages in 1.65s
Step #0: �[0m�[91mBytecode compiled 12506 files in 29.76s
Step #0: �[0m�[91m + aiofiles==25.1.0�[0m�[91m
Step #0: �[0m�[91m �[0m�[91m+ aiohappyeyeballs==2.6.1
Step #0: + aiohttp==3.13.2
Step #0: + aiosignal==1.4.0�[0m�[91m
Step #0: + alembic==1.17.1
Step #0: + annotated-types==0.7.0
Step #0: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91manyio�[0m�[91m==�[0m�[91m4.11.0�[0m�[91m
Step #0: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91margon2-cffi�[0m�[91m==�[0m�[91m25.1.0�[0m�[91m
Step #0: + argon2-cffi-bindings==25.1.0
Step #0: + arrow==1.4.0�[0m�[91m
Step #0: + astroid==3.3.11
Step #0: + asttokens==3.0.0�[0m�[91m
Step #0: + async-lru==2.0.5
Step #0: + async-timeout==5.0.1�[0m�[91m
Step #0: + attrs==25.4.0
Step #0: + �[0m�[91mbabel==2.17.0
Step #0: + �[0m�[91mbcrypt==4.2.1
Step #0: + beautifulsoup4==4.14.2
Step #0: + black==�[0m�[91m25.1.0
Step #0: + bleach==6.3.0�[0m�[91m
Step #0: + blinker==1.9.0
Step #0: �[0m�[91m+ cachetools==5.5.2
Step #0: +�[0m�[91m certifi==2025.10.5
Step #0: + cffi�[0m�[91m==2.0.0
Step #0: + �[0m�[91mcharset-normalizer==3.4.4
Step #0: + click==8.3.0
Step #0: + cloud-sql-python-connector==1.14.0
Step #0: + cloudpickle==3.1.2
Step #0: + comm�[0m�[91m==0.2.3
Step #0: + �[0m�[91mcontourpy==1.3.2
Step #0: +�[0m�[91m coverage==7.6.12
Step #0: �[0m�[91m + cryptography==46.0.3�[0m�[91m
Step #0: + cycler==0.12.1
Step #0: + databricks-sdk==0.38.0�[0m�[91m
Step #0: + databricks-sql-connector==3.5.0
Step #0: + debugpy==1.8.17
Step #0: + decorator==5.2.1
Step #0: + defusedxml==0.7.1�[0m�[91m
Step #0: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mdill==0.4.0�[0m�[91m
Step #0: + �[0m�[91mdnspython==�[0m�[91m2.8.0�[0m�[91m
Step #0: + docker==7.1.0
Step #0: + email-validator==2.3.0
Step #0: + entrypoints==0.4
Step #0: + et-xmlfile==2.0.0
Step #0: + exceptiongroup==1.3.0
Step #0: + executing==2.2.1
Step #0: + fastapi==0.115.14
Step #0: + fastapi-cli==0.0.14
Step #0: + fastapi-cloud-cli==0.3.1
Step #0: + fastjsonschema==2.21.2
Step #0: + flask==3.1.2
Step #0: �[0m�[91m + fonttools==4.60.1
Step #0: + fqdn==�[0m�[91m1.5.1�[0m�[91m
Step #0: +�[0m�[91m �[0m�[91mfrozenlist�[0m�[91m==�[0m�[91m1.8.0�[0m�[91m
Step #0: �[0m�[91m +�[0m�[91m �[0m�[91mgitdb==�[0m�[91m4.0.12�[0m�[91m
Step #0: �[0m�[91m+�[0m�[91m �[0m�[91mgitpython==�[0m�[91m3.1.45�[0m�[91m
Step #0: �[0m�[91m �[0m�[91m+ �[0m�[91mgoogle-api-core==�[0m�[91m2.28.1�[0m�[91m
Step #0: �[0m�[91m +�[0m�[91m google-auth�[0m�[91m==2.42.1
Step #0: �[0m�[91m �[0m�[91m+�[0m�[91m google-cloud-core==�[0m�[91m2.5.0�[0m�[91m
Step #0: �[0m�[91m + google-cloud-storage�[0m�[91m==2.18.2�[0m�[91m
Step #0: �[0m�[91m+�[0m�[91m google-crc32c==�[0m�[91m1.7.1�[0m�[91m
Step #0: �[0m�[91m �[0m�[91m+ google-resumable-media�[0m�[91m==�[0m�[91m2.7.2�[0m�[91m
Step #0: +�[0m�[91m �[0m�[91mgoogleapis-common-protos�[0m�[91m==�[0m�[91m1.71.0
Step #0: +�[0m�[91m �[0m�[91mgraphene�[0m�[91m==�[0m�[91m3.4.3
Step #0: +�[0m�[91m �[0m�[91mgraphql-core�[0m�[91m==�[0m�[91m3.2.7
Step #0: + graphql-relay==3.2.0
Step #0: �[0m�[91m + �[0m�[91mgreenlet==3.2.4
Step #0: + gunicorn==22.0.0
Step #0: �[0m�[91m+ h11==�[0m�[91m0.16.0
Step #0: �[0m�[91m + httpcore==1.0.9
Step #0: + httptools==0.7.1
Step #0: + httpx==0.28.1
Step #0: + idna==�[0m�[91m3.11�[0m�[91m
Step #0: + importlib-metadata==7.2.1
Step #0: �[0m�[91m �[0m�[91m+�[0m�[91m iniconfig==�[0m�[91m2.3.0
Step #0: + ipykernel==6.31.0
Step #0: + ipython==8.37.0
Step #0: + isoduration==20.11.0
Step #0: + isort�[0m�[91m==6.1.0
Step #0: + �[0m�[91mitsdangerous==�[0m�[91m2.2.0
Step #0: + jedi==0.19.2
Step #0: + jinja2==3.1.6
Step #0: + joblib==1.5.2
Step #0: + json5==0.12.1
Step #0: + �[0m�[91mjsonpickle==4.0.5�[0m�[91m
Step #0: + jsonpointer==3.0.0
Step #0: + jsonschema==4.25.1
Step #0: + jsonschema-specifications==2025.9.1
Step #0: + jupyter-client==8.6.3
Step #0: + jupyter-core==�[0m�[91m5.9.1
Step #0: + jupyter-events�[0m�[91m==0.12.0
Step #0: + jupyter-lsp�[0m�[91m==2.3.0
Step #0: + jupyter-server==2.17.0
Step #0: + jupyter-server-terminals==0.5.3
Step #0: + jupyterlab�[0m�[91m==4.4.10
Step #0: + jupyterlab-pygments�[0m�[91m==0.3.0
Step #0: + jupyterlab-server==2.28.0
Step #0: + kiwisolver==1.4.9�[0m�[91m
Step #0: + lark==1.3.1
Step #0: + lz4==4.4.5
Step #0: + mako==1.3.10
Step #0: �[0m�[91m+ markdown==3.10
Step #0: + markdown-it-py==4.0.0
Step #0: + markupsafe==�[0m�[91m3.0.3
Step #0: + matplotlib�[0m�[91m==3.10.7
Step #0: + matplotlib-inline==0.2.1
Step #0: + mccabe==0.7.0
Step #0: + mdurl==0.1.2
Step #0: + mistune==3.1.4�[0m�[91m
Step #0: + mlflow==2.15.1
Step #0: �[0m�[91m + mlflow-skinny==�[0m�[91m2.15.1
Step #0: + �[0m�[91mmultidict==6.7.0
Step #0: + mypy==1.18.2�[0m�[91m
Step #0: + mypy-extensions==1.1.0
Step #0: + nbclient�[0m�[91m==0.10.2
Step #0: + nbconvert==7.16.6�[0m�[91m
Step #0: + nbformat==5.10.4
Step #0: + nest-asyncio==1.6.0
Step #0: + notebook-shim==0.2.4
Step #0: + numpy==1.26.4�[0m�[91m
Step #0: +�[0m�[91m oauthlib==3.3.1
Step #0: + openpyxl==3.1.5
Step #0: + opentelemetry-api==1.38.0
Step #0: + opentelemetry-sdk==1.38.0
Step #0: + opentelemetry-semantic-conventions==0.59b0
Step #0: + overrides==7.7.0
Step #0: + packaging==24.2
Step #0: + pandas==2.2.3
Step #0: + pandera==0.26.1
Step #0: + pandocfilters==1.5.1
Step #0: + paramiko==3.5.1
Step #0: + �[0m�[91mparso==0.8.5
Step #0: + passlib==1.7.4�[0m�[91m
Step #0: + pathspec==0.12.1
Step #0: �[0m�[91m+ pexpect==4.9.0
Step #0: �[0m�[91m + pillow==12.0.0
Step #0: �[0m�[91m + platformdirs==4.5.0�[0m�[91m
Step #0: �[0m�[91m+ pluggy==1.6.0
Step #0: + prometheus-client==0.23.1
Step #0: + prompt-toolkit==3.0.52
Step #0: + propcache==0.4.1
Step #0: + proto-plus==1.26.1
Step #0: + protobuf�[0m�[91m==5.29.5
Step #0: + �[0m�[91mpsutil==7.1.3
Step #0: + ptyprocess==0.7.0�[0m�[91m
Step #0: �[0m�[91m + pure-eval==0.2.3
Step #0: + pyarrow==15.0.2
Step #0: + pyasn1==0.6.1
Step #0: + pyasn1-modules==0.4.2
Step #0: + pycparser==2.23
Step #0: + pycryptodome==�[0m�[91m3.20.0
Step #0: + pydantic==�[0m�[91m2.12.3
Step #0: + pydantic-core==2.41.4�[0m�[91m
Step #0: + pygments==2.19.2�[0m�[91m
Step #0: + pyjwt==�[0m�[91m2.10.1
Step #0: + pylint==3.3.9
Step #0: + pymysql==1.1.2
Step #0: + pynacl==1.6.0
Step #0: + pyparsing==3.2.5
Step #0: + pytest�[0m�[91m==8.4.2
Step #0: + python-dateutil==2.9.0.post0
Step #0: + python-dotenv==1.0.1
Step #0: + python-json-logger==4.0.0�[0m�[91m
Step #0: + python-multipart==0.0.20�[0m�[91m
Step #0: �[0m�[91m + pytz==2024.2
Step #0: + pyyaml==6.0.3
Step #0: + pyzmq==27.1.0
Step #0: + querystring-parser==1.2.4
Step #0: + rapidfuzz==3.14.3
Step #0: + referencing==0.37.0�[0m�[91m
Step #0: + requests==2.32.5
Step #0: + rfc3339-validator==0.1.4
Step #0: + rfc3986-validator==0.1.1
Step #0: + rfc3987-syntax==1.1.0�[0m�[91m
Step #0: �[0m�[91m+ rich==14.2.0
Step #0: + rich-toolkit==0.15.1
Step #0: + rignore==0.7.4
Step #0: + rpds-py==0.28.0
Step #0: + rsa==4.9.1
Step #0: + �[0m�[91mruff==0.14.3
Step #0: + scikit-learn==1.7.2
Step #0: + scipy==1.15.3
Step #0: + send2trash==1.8.3
Step #0: +�[0m�[91m sentry-sdk==2.43.0
Step #0: + setuptools==80.9.0
Step #0: + shellingham==1.5.4
Step #0: + six==1.16.0
Step #0: + smmap==5.0.2
Step #0: +�[0m�[91m sniffio==1.3.1
Step #0: + soupsieve==�[0m�[91m2.8
Step #0: + sqlalchemy==2.0.44
Step #0: + sqlparse==0.5.3
Step #0: + stack-data==0.6.3
Step #0: �[0m�[91m + starlette==0.46.2
Step #0: + strenum==0.4.15
Step #0: + terminado==0.18.1
Step #0: + thefuzz==�[0m�[91m0.22.1
Step #0: + threadpoolctl==3.6.0�[0m�[91m
Step #0: + thrift==0.20.0
Step #0: + tinycss2==1.4.0
Step #0: + tomli==2.3.0
Step #0: + tomlkit==0.13.3�[0m�[91m
Step #0: �[0m�[91m + tornado==6.5.2
Step #0: + traitlets==5.14.3
Step #0: + typeguard==4.4.4
Step #0: + typer==0.20.0
Step #0: + types-cachetools==6.2.0.20251022
Step #0: + types-paramiko==3.5.0.20250801
Step #0: + types-requests==2.32.0.20250602
Step #0: �[0m�[91m+ typing-extensions==4.15.0
Step #0: + typing-inspect==0.9.0
Step #0: + typing-inspection==0.4.2
Step #0: + tzdata==2025.2
Step #0: + uri-template==1.3.0
Step #0: �[0m�[91m + urllib3==2.5.0
Step #0: + uvicorn==0.38.0
Step #0: + uvloop==0.22.1
Step #0: + watchfiles==1.1.1
Step #0: + wcwidth==0.2.14
Step #0: + webcolors==25.10.0
Step #0: + webencodings==0.5.1
Step #0: + websocket-client==1.9.0
Step #0: + websockets�[0m�[91m==15.0.1
Step #0: + werkzeug�[0m�[91m==3.1.3
Step #0: + �[0m�[91myarl==1.22.0
Step #0: + zipp==3.23.0
Step #0: �[0mRemoving intermediate container f26632859742
Step #0: ---> 98b2de568feb
Step #0: Step 8/14 : ADD . /app
Step #0: ---> 8b7c68aa7986
Step #0: Step 9/14 : RUN uv sync --frozen --no-editable
Step #0: ---> Running in 0e7167b6d155
Step #0: �[91m �[0m�[91mBuilding�[0m�[91m src�[0m�[91m @ file:///app�[0m�[91m
Step #0: �[0m�[91m Built src @ file:///app
Step #0: �[0m�[91mPrepared 1 package in 565ms
Step #0: �[0m�[91mInstalled 1 package in 3ms
Step #0: �[0m�[91mBytecode compiled 12543 files in 1.53s
Step #0: + src==0.2.0.dev0�[0m�[91m (from file:///app)
Step #0: �[0mRemoving intermediate container 0e7167b6d155
Step #0: ---> c5af46557d62
Step #0: Step 10/14 : FROM python:3.10-slim-bookworm
Step #0: ---> 57634b90df2c
Step #0: Step 11/14 : COPY --from=builder /app/.venv /app/.venv
Step #0: ---> ff091b59d455
Step #0: Step 12/14 : COPY --from=builder /app/src /app/src
Step #0: ---> 325aa273188a
Step #0: Step 13/14 : ENV PATH="/app/.venv/bin:$PATH"
Step #0: ---> Running in ee373defa0a3
Step #0: Removing intermediate container ee373defa0a3
Step #0: ---> 442dc5d8ae71
Step #0: Step 14/14 : CMD ["fastapi", "run", "app/src/worker", "--port", "8080", "--host", "0.0.0.0"]
Step #0: ---> Running in 4334d3986548
Step #0: Removing intermediate container 4334d3986548
Step #0: ---> 0d0a1f4cb532
Step #0: Successfully built 0d0a1f4cb532
Step #0: Successfully tagged us-east4-docker.pkg.dev/dev-sst-02/student-success-tool/worker:ddca88a167ed7c7635a79f0398e65bc14434aa6d
Step #0: Successfully tagged us-east4-docker.pkg.dev/dev-sst-02/student-success-tool/worker:latest
Finished Step #0
Starting Step #1
Step #1: Already have image (with digest): gcr.io/cloud-builders/docker
Step #1: The push refers to repository [us-east4-docker.pkg.dev/dev-sst-02/student-success-tool/worker]
Step #1: 6e4d7d5ce4e8: Preparing
Step #1: e109ec7e60dd: Preparing
Step #1: 73c130b00770: Preparing
Step #1: 6fe5d16d4332: Preparing
Step #1: e338b055636e: Preparing
Step #1: abe743884ea0: Preparing
Step #1: e338b055636e: Layer already exists
Step #1: 73c130b00770: Layer already exists
Step #1: 6fe5d16d4332: Layer already exists
Step #1: 6e4d7d5ce4e8: Pushed
Step #1: abe743884ea0: Pushed
Step #1: e109ec7e60dd: Pushed
Step #1: ddca88a167ed7c7635a79f0398e65bc14434aa6d: digest: sha256:ffe074934637d42865afa5e6a5a789655e3c7e75624bc8c0d3f1fe9f46eaba9b size: 1581
Finished Step #1
Starting Step #2
Step #2: Already have image (with digest): gcr.io/cloud-builders/docker
Step #2: The push refers to repository [us-east4-docker.pkg.dev/dev-sst-02/student-success-tool/worker]
Step #2: 6e4d7d5ce4e8: Preparing
Step #2: e109ec7e60dd: Preparing
Step #2: 73c130b00770: Preparing
Step #2: 6fe5d16d4332: Preparing
Step #2: e338b055636e: Preparing
Step #2: abe743884ea0: Preparing
Step #2: e338b055636e: Layer already exists
Step #2: 6e4d7d5ce4e8: Layer already exists
Step #2: 73c130b00770: Layer already exists
Step #2: abe743884ea0: Layer already exists
Step #2: 6fe5d16d4332: Layer already exists
Step #2: e109ec7e60dd: Layer already exists
Step #2: latest: digest: sha256:ffe074934637d42865afa5e6a5a789655e3c7e75624bc8c0d3f1fe9f46eaba9b size: 1581
Finished Step #2
Starting Step #3
Step #3: Already have image (with digest): gcr.io/cloud-builders/gcloud
Step #3: Deploying container to Cloud Run service [dev-worker] in project [dev-sst-02] region [us-east4]
Step #3: Deploying...
starting build "3482e98c-8408-443f-ac20-9abece2976ab"
FETCHSOURCE
From https://github.com/datakind/sst-app-api
* branch ddca88a167ed7c7635a79f0398e65bc14434aa6d -> FETCH_HEAD
HEAD is now at ddca88a fix: batch name renewal
GitCommit:
ddca88a167ed7c7635a79f0398e65bc14434aa6d
BUILD
Starting Step #0
Step #0: Already have image (with digest): gcr.io/cloud-builders/docker
Step #0: Sending build context to Docker daemon 1.692MB
Step #0: Step 1/14 : FROM python:3.10-slim-bookworm AS builder
Step #0: 3.10-slim-bookworm: Pulling from library/python
Step #0: ae4ce04d0e1c: Pulling fs layer
Step #0: d8c4a4bbd26b: Pulling fs layer
Step #0: 776bc8c87027: Pulling fs layer
Step #0: c26e5e7da277: Pulling fs layer
Step #0: c26e5e7da277: Verifying Checksum
Step #0: c26e5e7da277: Download complete
Step #0: d8c4a4bbd26b: Download complete
Step #0: 776bc8c87027: Verifying Checksum
Step #0: 776bc8c87027: Download complete
Step #0: ae4ce04d0e1c: Verifying Checksum
Step #0: ae4ce04d0e1c: Download complete
Step #0: ae4ce04d0e1c: Pull complete
Step #0: d8c4a4bbd26b: Pull complete
Step #0: 776bc8c87027: Pull complete
Step #0: c26e5e7da277: Pull complete
Step #0: Digest: sha256:6e343dac46beda4a69e708bfc21d1a91504b7bdb6cef357ba963b4220dec2189
Step #0: Status: Downloaded newer image for python:3.10-slim-bookworm
Step #0: ---> 57634b90df2c
Step #0: Step 2/14 : COPY --from=ghcr.io/astral-sh/uv:0.5.30 /uv /uvx /bin/
Step #0: 0.5.30: Pulling from astral-sh/uv
Step #0: 110868002cfe: Pulling fs layer
Step #0: 20346dd24510: Pulling fs layer
Step #0: 20346dd24510: Verifying Checksum
Step #0: 20346dd24510: Download complete
Step #0: 110868002cfe: Verifying Checksum
Step #0: 110868002cfe: Download complete
Step #0: 110868002cfe: Pull complete
Step #0: 20346dd24510: Pull complete
Step #0: Digest: sha256:bb74263127d6451222fe7f71b330edfb189ab1c98d7898df2401fbf4f272d9b9
Step #0: Status: Downloaded newer image for ghcr.io/astral-sh/uv:0.5.30
Step #0: ---> 351a979dc1c9
Step #0: Step 3/14 : ENV UV_COMPILE_BYTECODE=1
Step #0: ---> Running in d07f1f9255d2
Step #0: Removing intermediate container d07f1f9255d2
Step #0: ---> 792bb6c34347
Step #0: Step 4/14 : ENV UV_NO_CACHE=1
Step #0: ---> Running in 139cca73a084
Step #0: Removing intermediate container 139cca73a084
Step #0: ---> d757f073a010
Step #0: Step 5/14 : WORKDIR /app
Step #0: ---> Running in fdb0a7dea53c
Step #0: Removing intermediate container fdb0a7dea53c
Step #0: ---> f891bc2ccbad
Step #0: Step 6/14 : ADD uv.lock pyproject.toml /app/
Step #0: ---> 1c9493c2f29d
Step #0: Step 7/14 : RUN uv sync --frozen --no-install-project
Step #0: ---> Running in f26632859742
Step #0: �[91mUsing CPython 3.10.19 interpreter at: /usr/local/bin/python3
Step #0: �[0m�[91mCreating virtual environment at: .venv
Step #0: �[0m�[91mDownloading ruff (12.7MiB)
Step #0: �[0m�[91mDownloading pygments �[0m�[91m(1.2MiB)
Step #0: �[0m�[91mDownloading setuptools (1.1MiB)
Step #0: �[0m�[91mDownloading kiwisolver (1.6MiB)
Step #0: �[0m�[91mDownloading pynacl (1.3MiB)
Step #0: �[0m�[91mDownloading numpy (17.4MiB)
Step #0: �[0m�[91mDownloading scipy (35.9MiB)
Step #0: Downloading rapidfuzz (3.0MiB)
Step #0: �[0m�[91mDownloading babel (9.7MiB)
Step #0: �[0m�[91mDownloading debugpy (2.9MiB)
Step #0: Downloading cryptography (4.3MiB)
Step #0: Downloading�[0m�[91m scikit-learn (9.2MiB)
Step #0: Downloading sqlalchemy (3.1MiB)
Step #0: �[0m�[91mDownloading�[0m�[91m aiohttp (1.6MiB)
Step #0: Downloading pillow (6.7MiB)
Step #0: Downloading pycryptodome (2.0MiB)
Step #0: �[0m�[91mDownloading mlflow-skinny �[0m�[91m(5.2MiB)
Step #0: Downloading lz4 (1.3MiB)
Step #0: �[0m�[91mDownloading fonttools (4.6MiB)
Step #0: �[0m�[91mDownloading jedi (1.5MiB)
Step #0: �[0m�[91mDownloading uvloop (3.5MiB)
Step #0: �[0m�[91mDownloading pydantic-core (2.0MiB)
Step #0: �[0m�[91mDownloading pandas (12.5MiB)
Step #0: �[0m�[91mDownloading pyarrow (36.6MiB)
Step #0: Downloading black (1.7MiB)
Step #0: �[0m�[91mDownloading jupyterlab (11.7MiB)
Step #0: �[0m�[91mDownloading mlflow (25.1MiB)
Step #0: �[0m�[91mDownloading matplotlib (8.3MiB)
Step #0: �[0m�[91mDownloading mypy (12.6MiB)
Step #0: �[0m�[91m Downloaded lz4
Step #0: �[0m�[91m Downloaded pynacl
Step #0: �[0m�[91m Downloaded kiwisolver
Step #0: �[0m�[91m Downloaded aiohttp
Step #0: �[0m�[91m Downloaded pygments
Step #0: �[0m�[91m Downloaded pydantic-core
Step #0: �[0m�[91m Downloaded black
Step #0: �[0m�[91m Downloaded pycryptodome
Step #0: �[0m�[91m Downloaded setuptools
Step #0: �[0m�[91m Building thrift==0.20.0
Step #0: �[0m�[91m Downloaded sqlalchemy
Step #0: �[0m�[91m Downloaded rapidfuzz
Step #0: �[0m�[91m �[0m�[91mDownloaded�[0m�[91m �[0m�[91mdebugpy�[0m�[91m
Step #0: �[0m�[91m �[0m�[91mDownloaded �[0m�[91muvloop�[0m�[91m
Step #0: �[0m�[91m Downloaded fonttools
Step #0: �[0m�[91m Downloaded cryptography
Step #0: �[0m�[91m Downloaded pillow
Step #0: �[0m�[91m Downloaded mlflow-skinny
Step #0: �[0m�[91m �[0m�[91mBuilt thrift==0.20.0
Step #0: �[0m�[91m Downloaded matplotlib
Step #0: �[0m�[91m Downloaded babel
Step #0: �[0m�[91m Downloaded scikit-learn
Step #0: �[0m�[91m Downloaded ruff
Step #0: �[0m�[91m Downloaded jupyterlab
Step #0: �[0m�[91m Downloaded numpy
Step #0: �[0m�[91m Downloaded pandas
Step #0: �[0m�[91m Downloaded jedi
Step #0: �[0m�[91m Downloaded mlflow
Step #0: �[0m�[91m Downloaded pyarrow
Step #0: �[0m�[91m Downloaded scipy
Step #0: �[0m�[91m �[0m�[91mDownloaded�[0m�[91m �[0m�[91mmypy�[0m�[91m
Step #0: �[0m�[91mPrepared �[0m�[91m226 packages�[0m�[91m �[0m�[91min 11.72s�[0m�[91m
Step #0: �[0m�[91mInstalled 226 packages in 1.65s
Step #0: �[0m�[91mBytecode compiled 12506 files in 29.76s
Step #0: �[0m�[91m + aiofiles==25.1.0�[0m�[91m
Step #0: �[0m�[91m �[0m�[91m+ aiohappyeyeballs==2.6.1
Step #0: + aiohttp==3.13.2
Step #0: + aiosignal==1.4.0�[0m�[91m
Step #0: + alembic==1.17.1
Step #0: + annotated-types==0.7.0
Step #0: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91manyio�[0m�[91m==�[0m�[91m4.11.0�[0m�[91m
Step #0: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91margon2-cffi�[0m�[91m==�[0m�[91m25.1.0�[0m�[91m
Step #0: + argon2-cffi-bindings==25.1.0
Step #0: + arrow==1.4.0�[0m�[91m
Step #0: + astroid==3.3.11
Step #0: + asttokens==3.0.0�[0m�[91m
Step #0: + async-lru==2.0.5
Step #0: + async-timeout==5.0.1�[0m�[91m
Step #0: + attrs==25.4.0
Step #0: + �[0m�[91mbabel==2.17.0
Step #0: + �[0m�[91mbcrypt==4.2.1
Step #0: + beautifulsoup4==4.14.2
Step #0: + black==�[0m�[91m25.1.0
Step #0: + bleach==6.3.0�[0m�[91m
Step #0: + blinker==1.9.0
Step #0: �[0m�[91m+ cachetools==5.5.2
Step #0: +�[0m�[91m certifi==2025.10.5
Step #0: + cffi�[0m�[91m==2.0.0
Step #0: + �[0m�[91mcharset-normalizer==3.4.4
Step #0: + click==8.3.0
Step #0: + cloud-sql-python-connector==1.14.0
Step #0: + cloudpickle==3.1.2
Step #0: + comm�[0m�[91m==0.2.3
Step #0: + �[0m�[91mcontourpy==1.3.2
Step #0: +�[0m�[91m coverage==7.6.12
Step #0: �[0m�[91m + cryptography==46.0.3�[0m�[91m
Step #0: + cycler==0.12.1
Step #0: + databricks-sdk==0.38.0�[0m�[91m
Step #0: + databricks-sql-connector==3.5.0
Step #0: + debugpy==1.8.17
Step #0: + decorator==5.2.1
Step #0: + defusedxml==0.7.1�[0m�[91m
Step #0: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mdill==0.4.0�[0m�[91m
Step #0: + �[0m�[91mdnspython==�[0m�[91m2.8.0�[0m�[91m
Step #0: + docker==7.1.0
Step #0: + email-validator==2.3.0
Step #0: + entrypoints==0.4
Step #0: + et-xmlfile==2.0.0
Step #0: + exceptiongroup==1.3.0
Step #0: + executing==2.2.1
Step #0: + fastapi==0.115.14
Step #0: + fastapi-cli==0.0.14
Step #0: + fastapi-cloud-cli==0.3.1
Step #0: + fastjsonschema==2.21.2
Step #0: + flask==3.1.2
Step #0: �[0m�[91m + fonttools==4.60.1
Step #0: + fqdn==�[0m�[91m1.5.1�[0m�[91m
Step #0: +�[0m�[91m �[0m�[91mfrozenlist�[0m�[91m==�[0m�[91m1.8.0�[0m�[91m
Step #0: �[0m�[91m +�[0m�[91m �[0m�[91mgitdb==�[0m�[91m4.0.12�[0m�[91m
Step #0: �[0m�[91m+�[0m�[91m �[0m�[91mgitpython==�[0m�[91m3.1.45�[0m�[91m
Step #0: �[0m�[91m �[0m�[91m+ �[0m�[91mgoogle-api-core==�[0m�[91m2.28.1�[0m�[91m
Step #0: �[0m�[91m +�[0m�[91m google-auth�[0m�[91m==2.42.1
Step #0: �[0m�[91m �[0m�[91m+�[0m�[91m google-cloud-core==�[0m�[91m2.5.0�[0m�[91m
Step #0: �[0m�[91m + google-cloud-storage�[0m�[91m==2.18.2�[0m�[91m
Step #0: �[0m�[91m+�[0m�[91m google-crc32c==�[0m�[91m1.7.1�[0m�[91m
Step #0: �[0m�[91m �[0m�[91m+ google-resumable-media�[0m�[91m==�[0m�[91m2.7.2�[0m�[91m
Step #0: +�[0m�[91m �[0m�[91mgoogleapis-common-protos�[0m�[91m==�[0m�[91m1.71.0
Step #0: +�[0m�[91m �[0m�[91mgraphene�[0m�[91m==�[0m�[91m3.4.3
Step #0: +�[0m�[91m �[0m�[91mgraphql-core�[0m�[91m==�[0m�[91m3.2.7
Step #0: + graphql-relay==3.2.0
Step #0: �[0m�[91m + �[0m�[91mgreenlet==3.2.4
Step #0: + gunicorn==22.0.0
Step #0: �[0m�[91m+ h11==�[0m�[91m0.16.0
Step #0: �[0m�[91m + httpcore==1.0.9
Step #0: + httptools==0.7.1
Step #0: + httpx==0.28.1
Step #0: + idna==�[0m�[91m3.11�[0m�[91m
Step #0: + importlib-metadata==7.2.1
Step #0: �[0m�[91m �[0m�[91m+�[0m�[91m iniconfig==�[0m�[91m2.3.0
Step #0: + ipykernel==6.31.0
Step #0: + ipython==8.37.0
Step #0: + isoduration==20.11.0
Step #0: + isort�[0m�[91m==6.1.0
Step #0: + �[0m�[91mitsdangerous==�[0m�[91m2.2.0
Step #0: + jedi==0.19.2
Step #0: + jinja2==3.1.6
Step #0: + joblib==1.5.2
Step #0: + json5==0.12.1
Step #0: + �[0m�[91mjsonpickle==4.0.5�[0m�[91m
Step #0: + jsonpointer==3.0.0
Step #0: + jsonschema==4.25.1
Step #0: + jsonschema-specifications==2025.9.1
Step #0: + jupyter-client==8.6.3
Step #0: + jupyter-core==�[0m�[91m5.9.1
Step #0: + jupyter-events�[0m�[91m==0.12.0
Step #0: + jupyter-lsp�[0m�[91m==2.3.0
Step #0: + jupyter-server==2.17.0
Step #0: + jupyter-server-terminals==0.5.3
Step #0: + jupyterlab�[0m�[91m==4.4.10
Step #0: + jupyterlab-pygments�[0m�[91m==0.3.0
Step #0: + jupyterlab-server==2.28.0
Step #0: + kiwisolver==1.4.9�[0m�[91m
Step #0: + lark==1.3.1
Step #0: + lz4==4.4.5
Step #0: + mako==1.3.10
Step #0: �[0m�[91m+ markdown==3.10
Step #0: + markdown-it-py==4.0.0
Step #0: + markupsafe==�[0m�[91m3.0.3
Step #0: + matplotlib�[0m�[91m==3.10.7
Step #0: + matplotlib-inline==0.2.1
Step #0: + mccabe==0.7.0
Step #0: + mdurl==0.1.2
Step #0: + mistune==3.1.4�[0m�[91m
Step #0: + mlflow==2.15.1
Step #0: �[0m�[91m + mlflow-skinny==�[0m�[91m2.15.1
Step #0: + �[0m�[91mmultidict==6.7.0
Step #0: + mypy==1.18.2�[0m�[91m
Step #0: + mypy-extensions==1.1.0
Step #0: + nbclient�[0m�[91m==0.10.2
Step #0: + nbconvert==7.16.6�[0m�[91m
Step #0: + nbformat==5.10.4
Step #0: + nest-asyncio==1.6.0
Step #0: + notebook-shim==0.2.4
Step #0: + numpy==1.26.4�[0m�[91m
Step #0: +�[0m�[91m oauthlib==3.3.1
Step #0: + openpyxl==3.1.5
Step #0: + opentelemetry-api==1.38.0
Step #0: + opentelemetry-sdk==1.38.0
Step #0: + opentelemetry-semantic-conventions==0.59b0
Step #0: + overrides==7.7.0
Step #0: + packaging==24.2
Step #0: + pandas==2.2.3
Step #0: + pandera==0.26.1
Step #0: + pandocfilters==1.5.1
Step #0: + paramiko==3.5.1
Step #0: + �[0m�[91mparso==0.8.5
Step #0: + passlib==1.7.4�[0m�[91m
Step #0: + pathspec==0.12.1
Step #0: �[0m�[91m+ pexpect==4.9.0
Step #0: �[0m�[91m + pillow==12.0.0
Step #0: �[0m�[91m + platformdirs==4.5.0�[0m�[91m
Step #0: �[0m�[91m+ pluggy==1.6.0
Step #0: + prometheus-client==0.23.1
Step #0: + prompt-toolkit==3.0.52
Step #0: + propcache==0.4.1
Step #0: + proto-plus==1.26.1
Step #0: + protobuf�[0m�[91m==5.29.5
Step #0: + �[0m�[91mpsutil==7.1.3
Step #0: + ptyprocess==0.7.0�[0m�[91m
Step #0: �[0m�[91m + pure-eval==0.2.3
Step #0: + pyarrow==15.0.2
Step #0: + pyasn1==0.6.1
Step #0: + pyasn1-modules==0.4.2
Step #0: + pycparser==2.23
Step #0: + pycryptodome==�[0m�[91m3.20.0
Step #0: + pydantic==�[0m�[91m2.12.3
Step #0: + pydantic-core==2.41.4�[0m�[91m
Step #0: + pygments==2.19.2�[0m�[91m
Step #0: + pyjwt==�[0m�[91m2.10.1
Step #0: + pylint==3.3.9
Step #0: + pymysql==1.1.2
Step #0: + pynacl==1.6.0
Step #0: + pyparsing==3.2.5
Step #0: + pytest�[0m�[91m==8.4.2
Step #0: + python-dateutil==2.9.0.post0
Step #0: + python-dotenv==1.0.1
Step #0: + python-json-logger==4.0.0�[0m�[91m
Step #0: + python-multipart==0.0.20�[0m�[91m
Step #0: �[0m�[91m + pytz==2024.2
Step #0: + pyyaml==6.0.3
Step #0: + pyzmq==27.1.0
Step #0: + querystring-parser==1.2.4
Step #0: + rapidfuzz==3.14.3
Step #0: + referencing==0.37.0�[0m�[91m
Step #0: + requests==2.32.5
Step #0: + rfc3339-validator==0.1.4
Step #0: + rfc3986-validator==0.1.1
Step #0: + rfc3987-syntax==1.1.0�[0m�[91m
Step #0: �[0m�[91m+ rich==14.2.0
Step #0: + rich-toolkit==0.15.1
Step #0: + rignore==0.7.4
Step #0: + rpds-py==0.28.0
Step #0: + rsa==4.9.1
Step #0: + �[0m�[91mruff==0.14.3
Step #0: + scikit-learn==1.7.2
Step #0: + scipy==1.15.3
Step #0: + send2trash==1.8.3
Step #0: +�[0m�[91m sentry-sdk==2.43.0
Step #0: + setuptools==80.9.0
Step #0: + shellingham==1.5.4
Step #0: + six==1.16.0
Step #0: + smmap==5.0.2
Step #0: +�[0m�[91m sniffio==1.3.1
Step #0: + soupsieve==�[0m�[91m2.8
Step #0: + sqlalchemy==2.0.44
Step #0: + sqlparse==0.5.3
Step #0: + stack-data==0.6.3
Step #0: �[0m�[91m + starlette==0.46.2
Step #0: + strenum==0.4.15
Step #0: + terminado==0.18.1
Step #0: + thefuzz==�[0m�[91m0.22.1
Step #0: + threadpoolctl==3.6.0�[0m�[91m
Step #0: + thrift==0.20.0
Step #0: + tinycss2==1.4.0
Step #0: + tomli==2.3.0
Step #0: + tomlkit==0.13.3�[0m�[91m
Step #0: �[0m�[91m + tornado==6.5.2
Step #0: + traitlets==5.14.3
Step #0: + typeguard==4.4.4
Step #0: + typer==0.20.0
Step #0: + types-cachetools==6.2.0.20251022
Step #0: + types-paramiko==3.5.0.20250801
Step #0: + types-requests==2.32.0.20250602
Step #0: �[0m�[91m+ typing-extensions==4.15.0
Step #0: + typing-inspect==0.9.0
Step #0: + typing-inspection==0.4.2
Step #0: + tzdata==2025.2
Step #0: + uri-template==1.3.0
Step #0: �[0m�[91m + urllib3==2.5.0
Step #0: + uvicorn==0.38.0
Step #0: + uvloop==0.22.1
Step #0: + watchfiles==1.1.1
Step #0: + wcwidth==0.2.14
Step #0: + webcolors==25.10.0
Step #0: + webencodings==0.5.1
Step #0: + websocket-client==1.9.0
Step #0: + websockets�[0m�[91m==15.0.1
Step #0: + werkzeug�[0m�[91m==3.1.3
Step #0: + �[0m�[91myarl==1.22.0
Step #0: + zipp==3.23.0
Step #0: �[0mRemoving intermediate container f26632859742
Step #0: ---> 98b2de568feb
Step #0: Step 8/14 : ADD . /app
Step #0: ---> 8b7c68aa7986
Step #0: Step 9/14 : RUN uv sync --frozen --no-editable
Step #0: ---> Running in 0e7167b6d155
Step #0: �[91m �[0m�[91mBuilding�[0m�[91m src�[0m�[91m @ file:///app�[0m�[91m
Step #0: �[0m�[91m Built src @ file:///app
Step #0: �[0m�[91mPrepared 1 package in 565ms
Step #0: �[0m�[91mInstalled 1 package in 3ms
Step #0: �[0m�[91mBytecode compiled 12543 files in 1.53s
Step #0: + src==0.2.0.dev0�[0m�[91m (from file:///app)
Step #0: �[0mRemoving intermediate container 0e7167b6d155
Step #0: ---> c5af46557d62
Step #0: Step 10/14 : FROM python:3.10-slim-bookworm
Step #0: ---> 57634b90df2c
Step #0: Step 11/14 : COPY --from=builder /app/.venv /app/.venv
Step #0: ---> ff091b59d455
Step #0: Step 12/14 : COPY --from=builder /app/src /app/src
Step #0: ---> 325aa273188a
Step #0: Step 13/14 : ENV PATH="/app/.venv/bin:$PATH"
Step #0: ---> Running in ee373defa0a3
Step #0: Removing intermediate container ee373defa0a3
Step #0: ---> 442dc5d8ae71
Step #0: Step 14/14 : CMD ["fastapi", "run", "app/src/worker", "--port", "8080", "--host", "0.0.0.0"]
Step #0: ---> Running in 4334d3986548
Step #0: Removing intermediate container 4334d3986548
Step #0: ---> 0d0a1f4cb532
Step #0: Successfully built 0d0a1f4cb532
Step #0: Successfully tagged us-east4-docker.pkg.dev/dev-sst-02/student-success-tool/worker:ddca88a167ed7c7635a79f0398e65bc14434aa6d
Step #0: Successfully tagged us-east4-docker.pkg.dev/dev-sst-02/student-success-tool/worker:latest
Finished Step #0
Starting Step #1
Step #1: Already have image (with digest): gcr.io/cloud-builders/docker
Step #1: The push refers to repository [us-east4-docker.pkg.dev/dev-sst-02/student-success-tool/worker]
Step #1: 6e4d7d5ce4e8: Preparing
Step #1: e109ec7e60dd: Preparing
Step #1: 73c130b00770: Preparing
Step #1: 6fe5d16d4332: Preparing
Step #1: e338b055636e: Preparing
Step #1: abe743884ea0: Preparing
Step #1: e338b055636e: Layer already exists
Step #1: 73c130b00770: Layer already exists
Step #1: 6fe5d16d4332: Layer already exists
Step #1: 6e4d7d5ce4e8: Pushed
Step #1: abe743884ea0: Pushed
Step #1: e109ec7e60dd: Pushed
Step #1: ddca88a167ed7c7635a79f0398e65bc14434aa6d: digest: sha256:ffe074934637d42865afa5e6a5a789655e3c7e75624bc8c0d3f1fe9f46eaba9b size: 1581
Finished Step #1
Starting Step #2
Step #2: Already have image (with digest): gcr.io/cloud-builders/docker
Step #2: The push refers to repository [us-east4-docker.pkg.dev/dev-sst-02/student-success-tool/worker]
Step #2: 6e4d7d5ce4e8: Preparing
Step #2: e109ec7e60dd: Preparing
Step #2: 73c130b00770: Preparing
Step #2: 6fe5d16d4332: Preparing
Step #2: e338b055636e: Preparing
Step #2: abe743884ea0: Preparing
Step #2: e338b055636e: Layer already exists
Step #2: 6e4d7d5ce4e8: Layer already exists
Step #2: 73c130b00770: Layer already exists
Step #2: abe743884ea0: Layer already exists
Step #2: 6fe5d16d4332: Layer already exists
Step #2: e109ec7e60dd: Layer already exists
Step #2: latest: digest: sha256:ffe074934637d42865afa5e6a5a789655e3c7e75624bc8c0d3f1fe9f46eaba9b size: 1581
Finished Step #2
Starting Step #3
Step #3: Already have image (with digest): gcr.io/cloud-builders/gcloud
Step #3: Deploying container to Cloud Run service [dev-worker] in project [dev-sst-02] region [us-east4]
Step #3: Deploying...
Step #3: Creating Revision..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................done
Step #3: Routing traffic.....done
Step #3: Done.
Step #3: Service [dev-worker] revision [dev-worker-00429-8f9] has been deployed and is serving 100 percent of traffic.
Step #3: Service URL: https://dev-worker-30046184227.us-east4.run.app
Finished Step #3
PUSH
DONE
Loading