GoogleCloudPlatform / cloud-ops-sandbox

Cloud Operations Sandbox is an open source collection of tools that helps practitioners to learn O11y and R9y practices from Google and apply them using Cloud Operations suite of tools.
Apache License 2.0
406 stars 148 forks source link

chore: Modify Github workflows #971

Closed minherz closed 2 years ago

minherz commented 2 years ago

Clean up the existing collection of workflows as a part of the migration to the trunk-based branching model. Implement three workflows that should cover the new process:

  1. CI workflow to run building, linting and local (a.k.a. unit) testing for all artifacts in the repo: Terraform configurations, Sandbox CLI and supported application configurations.
  2. E2e workflow to run end-to-end (a.k.a. integration) testing for deploy, remove and recipes commands of Sandbox CLI using a test configurations.
  3. Release workflow to run end-to-end testing for all supported applications before creating a new release.

Make workflows to use Github-managed runners instead of self-managed that are in use now. Use more secure keyless authentication to authenticate the runners for e2e and release workflows.

minherz commented 2 years ago

First two are implemented by #979. The (2) was implemented using Cloud Build trigger because of existing limitation to use of federated identity with the GCP project used for e2e testing. The last (3) will be implemented later.