GoogleCloudPlatform/buildpacks

.NET app failing to deploy recently

washcroft opened this issue · 11 comments

Describe the bug
An ASP.NET Core (.NET Runtime v8) app that we have deployed thousands of times has suddenly stopped deploying, the build process is failing.

The sample HelloWorld app doesn't deploy either, same error.

Additional context
How are you using GCP buildpacks?

  • pack and the gcr.io/buildpacks/builder
  • Cloud Functions
  • Cloud Run
  • Cloud Build
  • App Engine Standard
  • App Engine Flex

Did this used to work?
(Yes/No)
Was this working before? When did you start noticing these errors?

Yes, last deploy worked 10th July

What language is your project primarily written in?
(Python/Java/Node.js/Go/etc.)

ASP.NET Core (.NET Runtime v8)

Steps To Reproduce
Steps to reproduce the behavior:

  1. gcloud app deploy

Expected behavior
The app to deploy.

Actual behavior
Step #2 - "build": ERROR: No buildpack groups passed detection.
Step #2 - "build": ERROR: Please check that you are running against the correct path.
Step #2 - "build": ERROR: failed to detect: no buildpacks participating

If applicable, add screenshots / logs / error messages

Starting Step #2 - "build"
Step #2 - "build": Already have image (with digest): eu.gcr.io/serverless-runtimes/google-22-full/builder/dotnet:dotnet_20240715_RC00
Step #2 - "build": Warning: No cached data will be used, no cache specified.
Step #2 - "build": ===> ANALYZING
Step #2 - "build": Timer: Analyzer started at 2024-07-18T16:41:33Z
Step #2 - "build": Image with name "eu.gcr.io/thu-engine/appengine/engine-api.v2:473c2191-a10a-4ee2-bda1-d1f8263b82a4" not found
Step #2 - "build": Timer: Analyzer ran for 981.147983ms and ended at 2024-07-18T16:41:34Z
Step #2 - "build": ===> DETECTING
Step #2 - "build": Timer: Detector started at 2024-07-18T16:41:34Z
Step #2 - "build": ======== Output: google.config.flex@0.9.1 ========
Step #2 - "build": Opting in: X_GOOGLE_TARGET_PLATFORM set to "flex"
Step #2 - "build": ======== Output: google.dotnet.flex@0.9.0 ========
Step #2 - "build": Opting in: this is a GAE Flex app.
Step #2 - "build": ======== Output: google.dotnet.sdk@0.9.1 ========
Step #2 - "build": Opting out: GOOGLE_RUNTIME does not match to "dotnet"
Step #2 - "build": ======== Output: google.dotnet.publish@0.9.0 ========
Step #2 - "build": Opting in: found project files: ./Readacted.Readacted.Readacted.csproj
Step #2 - "build": ======== Output: google.dotnet.runtime@0.9.1 ========
Step #2 - "build": Opting out: GOOGLE_RUNTIME does not match to "dotnet"
Step #2 - "build": ======== Output: google.utils.label-image@0.0.2 ========
Step #2 - "build": Opting in: always enabled
Step #2 - "build": ======== Results ========
Step #2 - "build": pass: google.config.flex@0.9.1
Step #2 - "build": pass: google.dotnet.flex@0.9.0
Step #2 - "build": fail: google.dotnet.sdk@0.9.1
Step #2 - "build": pass: google.dotnet.publish@0.9.0
Step #2 - "build": fail: google.dotnet.runtime@0.9.1
Step #2 - "build": pass: google.utils.label-image@0.0.2
Step #2 - "build": ======== Output: google.dotnet.sdk@0.9.1 ========
Step #2 - "build": Opting out: GOOGLE_RUNTIME does not match to "dotnet"
Step #2 - "build": ======== Output: google.dotnet.appengine-main@0.9.0 ========
Step #2 - "build": Opting out: X_GOOGLE_TARGET_PLATFORM not set to "gae"
Step #2 - "build": ======== Output: google.dotnet.publish@0.9.0 ========
Step #2 - "build": Opting in: found project files: ./Readacted.Readacted.Readacted.csproj
Step #2 - "build": ======== Output: google.dotnet.runtime@0.9.1 ========
Step #2 - "build": Opting out: GOOGLE_RUNTIME does not match to "dotnet"
Step #2 - "build": ======== Output: google.dotnet.appengine@0.9.0 ========
Step #2 - "build": Opting out: X_GOOGLE_TARGET_PLATFORM not set to "gae"
Step #2 - "build": ======== Output: google.utils.label-image@0.0.2 ========
Step #2 - "build": Opting in: always enabled
Step #2 - "build": ======== Results ========
Step #2 - "build": fail: google.dotnet.sdk@0.9.1
Step #2 - "build": skip: google.dotnet.appengine-main@0.9.0
Step #2 - "build": pass: google.dotnet.publish@0.9.0
Step #2 - "build": fail: google.dotnet.runtime@0.9.1
Step #2 - "build": fail: google.dotnet.appengine@0.9.0
Step #2 - "build": pass: google.utils.label-image@0.0.2
Step #2 - "build": ======== Output: google.dotnet.sdk@0.9.1 ========
Step #2 - "build": Opting out: GOOGLE_RUNTIME does not match to "dotnet"
Step #2 - "build": ======== Output: google.utils.archive-source@0.0.1 ========
Step #2 - "build": Opting out: Env var X_GOOGLE_TARGET_PLATFORM is not set to gcf.
Step #2 - "build": ======== Output: google.dotnet.functions-framework@0.0.1 ========
Step #2 - "build": Opting out: GOOGLE_FUNCTION_TARGET not set
Step #2 - "build": ======== Output: google.dotnet.publish@0.9.0 ========
Step #2 - "build": Opting in: found project files: ./Readacted.Readacted.Readacted.csproj
Step #2 - "build": ======== Output: google.dotnet.runtime@0.9.1 ========
Step #2 - "build": Opting out: GOOGLE_RUNTIME does not match to "dotnet"
Step #2 - "build": ======== Output: google.utils.label-image@0.0.2 ========
Step #2 - "build": Opting in: always enabled
Step #2 - "build": ======== Results ========
Step #2 - "build": fail: google.dotnet.sdk@0.9.1
Step #2 - "build": skip: google.utils.archive-source@0.0.1
Step #2 - "build": fail: google.dotnet.functions-framework@0.0.1
Step #2 - "build": pass: google.dotnet.publish@0.9.0
Step #2 - "build": fail: google.dotnet.runtime@0.9.1
Step #2 - "build": pass: google.utils.label-image@0.0.2
Step #2 - "build": ======== Output: google.dotnet.sdk@0.9.1 ========
Step #2 - "build": Opting out: GOOGLE_RUNTIME does not match to "dotnet"
Step #2 - "build": ======== Output: google.dotnet.functions-framework@0.0.1 ========
Step #2 - "build": Opting out: GOOGLE_FUNCTION_TARGET not set
Step #2 - "build": ======== Output: google.dotnet.publish@0.9.0 ========
Step #2 - "build": Opting in: found project files: ./Readacted.Readacted.Readacted.csproj
Step #2 - "build": ======== Output: google.dotnet.runtime@0.9.1 ========
Step #2 - "build": Opting out: GOOGLE_RUNTIME does not match to "dotnet"
Step #2 - "build": ======== Output: google.config.entrypoint@0.9.0 ========
Step #2 - "build": Opting in: GOOGLE_ENTRYPOINT set to "dotnet Readacted.Readacted.Readacted.dll"
Step #2 - "build": ======== Output: google.utils.label-image@0.0.2 ========
Step #2 - "build": Opting in: always enabled
Step #2 - "build": ======== Results ========
Step #2 - "build": fail: google.dotnet.sdk@0.9.1
Step #2 - "build": skip: google.dotnet.functions-framework@0.0.1
Step #2 - "build": pass: google.dotnet.publish@0.9.0
Step #2 - "build": fail: google.dotnet.runtime@0.9.1
Step #2 - "build": pass: google.config.entrypoint@0.9.0
Step #2 - "build": pass: google.utils.label-image@0.0.2
Step #2 - "build": ======== Output: google.dotnet.runtime@0.9.1 ========
Step #2 - "build": Opting out: GOOGLE_RUNTIME does not match to "dotnet"
Step #2 - "build": ======== Output: google.config.entrypoint@0.9.0 ========
Step #2 - "build": Opting in: GOOGLE_ENTRYPOINT set to "dotnet Readacted.Readacted.Readacted.dll"
Step #2 - "build": ======== Output: google.utils.label-image@0.0.2 ========
Step #2 - "build": Opting in: always enabled
Step #2 - "build": ======== Results ========
Step #2 - "build": fail: google.dotnet.runtime@0.9.1
Step #2 - "build": pass: google.config.entrypoint@0.9.0
Step #2 - "build": pass: google.utils.label-image@0.0.2
Step #2 - "build": Timer: Detector ran for 159.236565ms and ended at 2024-07-18T16:41:35Z
Step #2 - "build": ERROR: No buildpack groups passed detection.
Step #2 - "build": ERROR: Please check that you are running against the correct path.
Step #2 - "build": ERROR: failed to detect: no buildpacks participating
Finished Step #2 - "build"
ERROR
ERROR: build step 2 "eu.gcr.io/serverless-runtimes/google-22-full/builder/dotnet:dotnet_20240715_RC00" failed: step exited with non-zero status: 20

We are aware of the issue and are rolling back

We are aware of the issue and are rolling back

Phew. Thank you.

@kennethye1 is there any update on when that is likely to happen, or is there any workaround in the meantime?

We had a similar issue, but now the deployment is working.

I guess the rollback mentioned by @ kennethye1 is done.

CC @washcroft

@MisaelSabb A deployment about 6 hours ago worked, but now it's failing again for us

I agree with you @washcroft: unfortunately, we ran another deployment but it failed.
Thanks @kennethye1 for your kind support.

It should finish EOD. In the meantime, you can retry to hopefully deploy.

Many thanks @kennethye1 it works!
cc @washcroft

Appears to be resolved per latest comment, feel free to reopen if you see further showstoppers like this.

For the record, https://codelabs.developers.google.com/codelabs/cloud-app-engine-aspnetcore is outdated and is using an unsupported method to deploy prebuilt applications.

I recommend you to follow the latest tutorial https://cloud.google.com/appengine/docs/flexible/dotnet/runtime