Description
This supersedes #16809 - a lot of underlying work has been done on build process across the bindings since that issue was created to support a slightly better vision.
Problem
- Github Actions runs are taking too long, especially when multiple small PRs are being made.
- ci.yml workflow has significant overlap with ci-rbe.yml workflow
- There are things that can't be tested in RBE that aren't being tested on a GHA Runner
- Tests are inconsistent across bindings
Proposal
RBE remains the primary per-PR test gate. GHA Runners should only run tests that provide sufficient additional signal.
GHA runners should be scoped by affected Bazel targets (this is wired up but not used yet).
GHA Tests
Run every time there are affected targets:
- Windows: Affected targets list filtered for Edge + se_manager + os_sensitive -safari -ie (large & small tests)
- Mac: Affected targets list filtered for Safari + se_manager + os_sensitive -ie (large & small tests)
- Linux: Affected targets list filtered for se_manager + rbe_skipped -safari -ie
Run when tagged with [language]
4. Unit Test Matrix: first/last version and alternate interpreters as applicable
Run manually and/or scheduled
Run all the above where affected targets are everything
Additional/Future Considerations
- consider running periodically all targets on windows not filtering to just edge as a stopgap
- Ideally we can replace .skipped-tests with bazel tags or test runner guards/annotations
- fix Java to use target_compatible_with instead of generating targets for everything and filtering
- consider splitting skip-rbe tag into a reason for skipping
Have you considered any alternatives or workarounds?
No response
Description
This supersedes #16809 - a lot of underlying work has been done on build process across the bindings since that issue was created to support a slightly better vision.
Problem
Proposal
RBE remains the primary per-PR test gate. GHA Runners should only run tests that provide sufficient additional signal.
GHA runners should be scoped by affected Bazel targets (this is wired up but not used yet).
GHA Tests
Run every time there are affected targets:
Run when tagged with [language]
4. Unit Test Matrix: first/last version and alternate interpreters as applicable
Run manually and/or scheduled
Run all the above where affected targets are everything
Additional/Future Considerations
Have you considered any alternatives or workarounds?
No response