github.com/GoogleCloudPlatform/testgrid@v0.0.174/cluster/README.md (about)

     1  # Add a new component to the release
     2  
     3  1. Create the component, such that no other components depend on it. (If it fails, you can debug without worrying about breaking production.)
     4  1. **PR**: Add the component to the BUILD file, and send a PR for this. (Example: https://github.com/GoogleCloudPlatform/testgrid/pull/822).
     5  1. Wait until Container Registry has a date-versioned image for the component.
     6      - e.g. https://github.com/GoogleCloudPlatform/testgrid/pull/822 -> tabulator image with version`v20220210-v0.0.121-16-g5bceb0c`
     7  1. **PR**: Create a configuration `<component>.yaml` file under `cluster/canary`, referencing the image version all components are using in production (so the autobumper can catch it).
     8  1. Bind the service account(s) for the component in the `testgrid-canary` namespace:
     9  
    10      ```
    11      NAMESPACE=testgrid-canary
    12      PROJECT=<project>
    13      COMPONENT=<component name>
    14      SERVICE_ACCOUNT=<service account to bind to>
    15      gcloud iam service-accounts add-iam-policy-binding   --project=$PROJECT   --role=roles/iam.workloadIdentityUser   --member=serviceAccount:k8s-testgrid.svc.id.goog[$NAMESPACE/$COMPONENT]   $SERVICE_ACCOUNT
    16      ```
    17  1. **PR**: Create `<component>.yaml` under `cluster/prod`.
    18  1. Bind the service account(s) for the component in the `testgrid` namespace:
    19  
    20      ```
    21      NAMESPACE=testgrid
    22      PROJECT=<project>
    23      COMPONENT=<component name>
    24      SERVICE_ACCOUNT=<service account to bind to>
    25      gcloud iam service-accounts add-iam-policy-binding   --project=$PROJECT   --role=roles/iam.workloadIdentityUser   --member=serviceAccount:k8s-testgrid.svc.id.goog[$NAMESPACE/$COMPONENT]   $SERVICE_ACCOUNT
    26      ```