Closed cnunciato closed 1 week ago
Can confirm I'm getting this same error repeatedly with the TypeScript library for deploying Cloud Run. I'm new to Pulumi, but it seems to only occur in Github Actions for me and not when I run locally.
After some more testing, I've concluded:
ubuntu-22.04
, ubuntu-20.04
, and macos-13
. If the Cloud Run service did not exist before, it works as expected.macOS 13.5.2 22G91 arm64
.Would appreciate it if someone with more experience with Pulumi in Github Actions could take a look and see why it's happening!
@cnunciato thanks for reporting and we'll take a look as soon as possible!
I wonder why the issue did not get a "needs-triage" label? Did you use one of the issue templates? I saw this by chance - without the label we might easily miss the issue.
I've confirmed this reproes in Python. Interestingly, I failed to repro in YAML.
FYI: we're having the same issue. It's reproducible locally.
Thanks for reporting and sorry you've hit this too.
I've reproduced this and am investigating the root-cause.
OK, identified the issue and a fix is coming in the next release after https://github.com/pulumi/pulumi-gcp/pull/2165
As a workaround, anyone affected by this can specify a label
for the metadata
property like so:
"""A Google Cloud Python Pulumi program"""
import pulumi
import pulumi_gcp as gcp
gcp.cloudrun.Service(
"my-service",
location="us-central1",
template=gcp.cloudrun.ServiceTemplateArgs(
spec=gcp.cloudrun.ServiceTemplateSpecArgs(
containers=[
gcp.cloudrun.ServiceTemplateSpecContainerArgs(
image="gcr.io/cloudrun/hello:latest"
)
]
)
),
metadata=gcp.cloudrun.ServiceMetadataArgs(
labels={
"mylabel": "myvalue"
}
)
)
This works around the issue as it is triggered by a null labels
property inside the metadata
.
This issue has been addressed in PR #2165 and shipped in release v7.30.1.
Noticed this with a failing pulumi/examples test (apparently failing for a while, but still repros):
Given the following program:
The first update succeeds, but successive updates fail consistently with the following output:
Tested with TypeScript and Python.