Currently, when we make a PR it runs all the configured GitHub Actions at once in parallel. This helps save time, but often times the first time a PR is made, there are a few linting fixes that need to made, etc. This leads to lots of commits and wasted runner minutes as the unit and integration tests run each time.
I am proposing structuring the tests in the following way:
- Linting, Type checking, PR label check, etc.
- Unit tests
- Integration tests (includes deployed infra tests)
Each step acts as a quality gate for the next set of tests. This will help reduce the number of minutes consumed.
Currently, when we make a PR it runs all the configured GitHub Actions at once in parallel. This helps save time, but often times the first time a PR is made, there are a few linting fixes that need to made, etc. This leads to lots of commits and wasted runner minutes as the unit and integration tests run each time.
I am proposing structuring the tests in the following way:
Each step acts as a quality gate for the next set of tests. This will help reduce the number of minutes consumed.