-
Notifications
You must be signed in to change notification settings - Fork 16.4k
Reorganizing of CI tests #9654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reorganizing of CI tests #9654
Conversation
77ba8a6 to
109dd00
Compare
|
cc: @kaxil @dimberman @turbaszek @mik-laj @ashb - > I experimented a bit with splitting the CI workflow. I possibly split it a bit too much but I wanted to see if this makes sense. I think it does. We will be able to re-run one group of tests only rather than all of it + I think we can remove the "static-check" -> test dependency now that we have Github Actions - this way tests will start running faster and we can run static checks as a single check as it runs independently. Let me know what you think. |
5d9cb18 to
e147418
Compare
Yeah I think we can combine the 2 static checks to one. |
|
I completely agree with removing the static check dependency. That was a necessary workaround in Travis, (though maybe we can fail-fast the rest of tests if static tests fail) |
|
Ah yeah... @dimberman Failing fast is a good idea. I think we can do it similarly to the Cancel workflow. And @ashb - in another beam-infra project (where I helped to introduce Github Actions we found a way to get the workflow id using Github API so we can reuse it here :). Synergies. |
@kaxil -> yeah. This is only good if we remove the static -> test dependency otherwise one long static check will take too much time. And also once we complete pylint migration (Soon! We are 13 files left!) we might turn off "serialize" in pylint checks (it was needed because it was detecting cyclic dependencies somewhat randomly. This should speed -up pylint checks considerably (at least 2x or as many processors we will have available in Github Actions. |
e93f369 to
00081e2
Compare
|
@kaxil @ashb @turbaszek @mik-laj . Here it is - I split the Ci workflow in smaller ones. Each workflow is independent and can be rerun separately as needed. cancel steps are incorporated in each workflow. It has some benefits in terms of independence and rerun ability, but I am not sure if we should split in general - it introduces more entities in action history (but not more jobs) |
* we come back to idea of having one CI workflow * cancel and openapi are incorporated into that CI workflow * cancel retrieves workflow id automatically (works for forks) * static checks are now merged into one job * less dependencies between jobs so that waiting is minimised * better name for check if tests should be run * separated out script for tests should be run check
00081e2 to
50dc40b
Compare
|
I did some experimenting and spliiting to separate workflows brings far more problems than benefits. I reorganized the CI tests and put them back in ci.yml (including cancel workflow).
|
turbaszek
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks reasonable to me 👌
* we come back to idea of having one CI workflow * cancel and openapi are incorporated into that CI workflow * cancel retrieves workflow id automatically (works for forks) * static checks are now merged into one job * less dependencies between jobs so that waiting is minimised * better name for check if tests should be run * separated out script for tests should be run check
* we come back to idea of having one CI workflow * cancel and openapi are incorporated into that CI workflow * cancel retrieves workflow id automatically (works for forks) * static checks are now merged into one job * less dependencies between jobs so that waiting is minimised * better name for check if tests should be run * separated out script for tests should be run check (cherry picked from commit 496ed6f)
* we come back to idea of having one CI workflow * cancel and openapi are incorporated into that CI workflow * cancel retrieves workflow id automatically (works for forks) * static checks are now merged into one job * less dependencies between jobs so that waiting is minimised * better name for check if tests should be run * separated out script for tests should be run check (cherry picked from commit 496ed6f)
* we come back to idea of having one CI workflow * cancel and openapi are incorporated into that CI workflow * cancel retrieves workflow id automatically (works for forks) * static checks are now merged into one job * less dependencies between jobs so that waiting is minimised * better name for check if tests should be run * separated out script for tests should be run check (cherry picked from commit 496ed6f)
Make sure to mark the boxes below before creating PR: [x]
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.
Read the Pull Request Guidelines for more information.