Eight of the GCP TypeScript examples were failing tsc, and none of the eight had integration test coverage, which is how they were able to rot unnoticed. Found while upgrading the examples to pulumi-gcp v9 in #2991; every failure reproduced identically against the v8 pins on master, so none was caused by that upgrade.
Six are fixed in #2994. The other two are not GCP-scoped and are tracked in #2992.
The underlying gap is coverage. Among the GCP TypeScript examples only gcp-ts-cloudrun, gcp-ts-functions and gcp-ts-serverless-raw have integration tests, and all three were already in the clean set. Nothing runs tsc over the rest in CI either, so the six fixes are typecheck-clean but runtime-unverified; several were stale v6/v7-era API usage that may still fail at pulumi up.
Two things would stop this recurring. A CI job that typechecks every TypeScript example is cheap and would have caught all eight at the commit that introduced them. Integration tests for whichever GCP examples are worth keeping would catch the rest; the ones not worth that are probably candidates for retirement.
Eight of the GCP TypeScript examples were failing
tsc, and none of the eight had integration test coverage, which is how they were able to rot unnoticed. Found while upgrading the examples to pulumi-gcp v9 in #2991; every failure reproduced identically against the v8 pins onmaster, so none was caused by that upgrade.Six are fixed in #2994. The other two are not GCP-scoped and are tracked in #2992.
The underlying gap is coverage. Among the GCP TypeScript examples only
gcp-ts-cloudrun,gcp-ts-functionsandgcp-ts-serverless-rawhave integration tests, and all three were already in the clean set. Nothing runstscover the rest in CI either, so the six fixes are typecheck-clean but runtime-unverified; several were stale v6/v7-era API usage that may still fail atpulumi up.Two things would stop this recurring. A CI job that typechecks every TypeScript example is cheap and would have caught all eight at the commit that introduced them. Integration tests for whichever GCP examples are worth keeping would catch the rest; the ones not worth that are probably candidates for retirement.