Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci(all): only run continuous tests on changed modules (#3527)
Fixes: #3454 and #3134 [One pager summary](https://docs.google.com/document/d/1ZWLb85kkjcnHwUOqnJCexEx_GNf-UVSEAbdfL8A5NGo/edit?resourcekey=0-LO2alh3JcP1DEWFJLshMUA#heading=h.tdx2ho1d7dsd) **Changes** Job | Current | Changes -- | -- | -- Presubmit | Runs --short tests only<br /> Tests all submodules | No change Continuous | Runs on all submodules | Runs only the tests in submodules changed by the PR<br /> Runs the root test Nightly | None | Runs on all submodules<br /> [Optional] can configure a job `nightly/module_name` to only run the tests inside that module, skipping the root test. **New Jobs** - [Nightly](https://fusion.corp.google.com/projectanalysis/summary/KOKORO/prod:cloud-devrel%2Fclient-libraries%2Fgo%2Fgoogle-cloud-go%2Fnightly%2Fmaster?search_pattern=google-cloud-go&include_inactive_projects=false), s.t. all submodules tests still run during the nightly check. - Temporary [Testing](https://fusion.corp.google.com/projectanalysis/summary/KOKORO/prod:cloud-devrel%2Fclient-libraries%2Fgo%2Fgoogle-cloud-go%2Fcontinuous%2Ftesting) job which points to a `test-submodules` branch in this repo used to test this new continuous testing logic. **Testing this implementation:** I tested using `git diff HEAD~1` in this [closed branch](#3513): ✅ I changed a file inside /internal => ci tested [all submodules](https://fusion2.corp.google.com/invocations/3ed3c0c2-db12-4d0e-97cd-5d43210a5eb1/log) ✅ I changed a file inside /spanner => ci tested [only spanner](https://fusion2.corp.google.com/invocations/f0ff1f3d-e43f-4e70-9ad1-45534cb79997/targets/cloud-devrel%2Fclient-libraries%2Fgo%2Fgoogle-cloud-go%2Fcontinuous%2Ftesting/log) ✅ I changed file inside /logging => ci tested [only logging](https://fusion2.corp.google.com/invocations/4b9a5206-720f-4837-9cdb-c4b64b25483e/targets/cloud-devrel%2Fclient-libraries%2Fgo%2Fgoogle-cloud-go%2Fcontinuous%2Ftesting/log) ✅ I changed files in both bigtable & logging => ci tested [2 submodules](https://fusion2.corp.google.com/invocations/0fddcec3-de4d-4710-97ff-9340cffefaf8/targets/cloud-devrel%2Fclient-libraries%2Fgo%2Fgoogle-cloud-go%2Fcontinuous%2Ftesting/log) **Open questions:** - What are other directories in this repo that, upon being changed in a PR, should trigger CI on ALL submodules? Other than `internal`? - Should we keep the `perf-bench` tests e.g. [pubsub](https://fusion.corp.google.com/projectanalysis/summary/KOKORO/prod:cloud-devrel%2Fclient-libraries%2Fgo%2Fgoogle-cloud-go%2Fcontinuous%2Fpubsub_perf_bench?search_pattern=google-cloud-go&include_inactive_projects=false) within the continuous job configs, or should I move them over to nightly? We'll save a bit of compute as these tests are already scheduled to run nightly.
- Loading branch information