Skip to content

Use a project pool to avoid test collisions #1428

@grayside

Description

@grayside

The golang and ruby sample repositories use a project pool to provide a dedicated GCP project for every CI run.

Doing this is extremely useful for any tests which consume GCP resources:

  • Avoid excessively management of unique namespacing
  • Avoid spawn of many distinctly named resources and management overhead
  • Avoid cross-test data poisoning (writing data to an accidentally shared resource)
  • Avoid cross-test data noise (log entries for concurrent operations requiring careful filtration)

Obstacles: Based on my understanding of how the gimmeproj mechanism works, this would be done for discrete CI runs. This means it would need to apply on a per sample basis in Node.js unless some more grouping were done at the Kokoro configuration level.

I am raising this because navigation of service name uniqueness for Cloud Run samples has taken a significant amount of time.

Ruby and Golang facilitate this with the gimmeproj tool

@broady

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions