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
ci(check-urls): use a matrix to speed-up execution #7060
ci(check-urls): use a matrix to speed-up execution #7060
Conversation
The matrix strategy creates 10 max-parallel workers with a disabled fail-fast parameter Examples - Before: https://github.com/davorpa/free-programming-books/actions/runs/2999590952 - After: https://github.com/davorpa/free-programming-books/actions/runs/3007199364 Running the workflow when -langs or -subject files are involved could exhaust the runner execution max-time. Using this implementation... the elapsed time is of the longest execution time, normally no more than 30min on the worst of cases
there must be some limit on how many threads the repo can use as a whole. Worrying about load in October |
About
Is it 10 well or better leave GitHub to decide? Moreover... setting |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Reviewers welcome! |
This comment was marked as outdated.
This comment was marked as outdated.
…matrix Cherry picked until e301da9
7c69152
to
05273d9
Compare
…l-matrix Update tj-actions/changed-files@v29.0.7 -> v30.0.0
Oh no 😟! Conflicts have been found. Please 🙏, take a moment and address the merge conflicts of your pull request before we can evaluate it again. Thanks in advance for your effort and patience ❤️! |
::set-output --> GITHUB_OUTPUT env file
This seems like it could be a really nice improvement. I like that you are not failing fast so a user can see all issues right away. In looking at the workflow results I am a bit confused though. Original WorkflowMatrix workflowAs you can see, the new workflow shows a total time that is nearly 3 times as long as the original. With that said, the individual times add up to 30s so maybe this is misleading on GitHubs part. Additionally, this is only running a single test, so not really seeing the full benefits of the matrix. As far as I can tell, this is, at the very least, working as expected. Would it be worth making some test PR's that trigger as many workflows as possible to get a better gauge what improvement to execution time this makes? Admittedly, I have not used this matrix feature before, so let me know if there is anything else I should look into/test on my end. |
is this ready? |
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.
Since the individual execution is the same speed, I am giving this my approval. There might be slightly more setup/tear down time but this seems to be worth the improved performance when multiple jobs are run.
Yes, developing is ready 😉 |
What does this PR do?
Improve repo
For resources
Description
The matrix strategy creates 10 max-parallel workers with a disabled fail-fast parameter
Examples
Running the workflow when
-langs.md
or-subject.md
files are involved could exhaust the runner execution max-time like sometime happens in the past (https://github.com/EbookFoundation/free-programming-books/actions/runs/2924594027 max is 360min).Using this implementation... the elapsed time is of the longest execution time, normally no more than 30min on the worst of cases.
Moreover, we can meter how much time awesome bot consumes in each check.
Checklist:
Follow-up