-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
[WIP] First steps to rebalance CI jobs with focus on macOS - squash me! #5124
Conversation
17ce353
to
e2a4368
Compare
We also use Cirrus-CI, right now only for two FreeBSD builds which means it is underutilized. |
6557f0e
to
7c0c7e6
Compare
Overview of our (con)current CI capacity before this PR:
@bagder maybe it is a good idea to include the limits in your stats script and have a check for them? |
I don't think they belong in there. The limits also vary over time and the script can't figure out what limits that are set for what service when. I also don't think the limits themselves is the problem as much as the total time the jobs take to complete. |
2a3e36a
to
41efad7
Compare
Note to myself: turn build combinations into matrix strategy elements to reduce YAML duplication. |
@bagder can we drop cpp.yml from GH Actions? I think that is already covered by other CIs. |
Sure, if the same build runs elsewhere it isn't necessary to have there! |
Just like all the other CI configuration files do it.
24df551
to
bc075ae
Compare
bc075ae
to
5b332d0
Compare
TODO: test against real gcc instead of just gcc-aliased clang.
45836f2
to
2be8aac
Compare
2be8aac
to
7664ff1
Compare
@bagder do you think the number of macOS jobs is crazy or would it be okay to have those? |
How many are they and why do you suggest we need that amount? |
Previously it came to 29 (9 autotools builds with clang, gcc-8 and gcc-9, plus 2 cmake builds). I basically transferred and merged, but also logically combined/expanded upon the build variants we had on travis-ci and azure-pipelines to form this list. |
@bagder please give a Go for merge. I will do the other CI changes in separate PRs. |
so the same build combos as before still run, just spread out differently over the services? And then some new combos are added? This is 14 commits and the yaml is impossible to understand. It's hard to review.... |
Yes, but instead of spreading them over travis-ci and azure-pipelines, macOS is for now only used with gh-actions.
Yes, to compensate for some gcc to clang transitions. See below for details.
I am sorry for that, I guess you can see the summarized changes here, but in order to make a review and overview of the changes easier, I created the following illustration (click for original/full size):
|
@bagder Okay, but what about splitting the dashboard graph per CI platform? and make the graph lines stacked so that it is possible to tell the amount of jobs per CI platform? |
Once this is merged, I need to double-check that the stats script actually counts the jobs correctly still... |
Thanks, I just merged this PR and also did the other tidy-ups we talked about. Regarding 7e8a1a0 I forgot to mention in the commit description that a similar job is also running on Azure Pipelines besides Travis CI. |
I guess it won't since I am now making use of the matrix feature and also plan to do the same for Azure Pipelines to reduce duplication clutter. I guess you could adapt it to count the combinations of cc @bagder |
Overview of our (con)current CI capacity after this PR was merged:
My next plan is to fix the randomly breaking AppVeyor jobs with #5034, move some Linux jobs to CirrusCI and also add some more Windows jobs (most likely WSL-based ones which are currently only possible on AppVeyor, because PRs for actions/runner-images#50 are still pending). So I may also try to do some rebalancing of Windows jobs if AppVeyor becomes too slow or utilized. |
Since it changes the github file to use "matrix" style. PR 5124: curl/curl#5124 Closes #6
Improving Azure Pipelines is in the works with #5468. Next up: move more builds to CirrusCI. |
That issue got fixed. |
Definitely on my todo list, thanks. |
My current plan is to layout the CI jobs like this:
This is work-in-progress and subject to change with additional commits and CI load testing.