lupyuen · GitHub

Is your feature request related to a problem? Please describe.

msvc build is broken. @xiaoxiang781216 has a suggestion:

  • Enable One CI Job from each of macOS, msvc and msys2
  • Which might prevent breakage of macOS / msvc / msys2 after merging
  • If we don't have sufficient quota for macOS and Windows Jobs, we should reduce the Linux Arm32 Jobs

Describe the solution you'd like

I did some analysis of the msvc breakage:

But I shall still enable the Windows Builds and monitor the cost. Here's my computation:

  • ASF has allocated a quota of 25 Full-Time Runners per week, we are using about 12 right now.
  • Based on the Job Runtimes: https://github.com/NuttX/nuttx/actions/runs/11630100298/usage
  • We estimate that msvc + msys2 will cost us 60 mins of GitHub Runner Minutes (Windows Runners cost twice as much as Linux Runners)
  • So we might be OK to enable msvc + msys2 Builds
  • But I will still shut them down if they overrun our quota

Sorry I can't enable macOS Builds right now:

But can we still prevent breakage of Linux / macOS / msvc / msys2 Builds?

  • Nope this is simply impossible. In the good old days: We were using far too many GitHub Runners. This is not sustainable, we don't have the budget to run all the CI Checks we used to.
  • So we should expect some breakage to happen. We have to be prepared to backtrack and figure out which PR broke the build.
  • That's why we have tools like the NuttX Dashboard, to detect breakage earlier without depending on GitHub CI.
  • Also we should show some love and respect to NuttX Devs: Previously they waited 2.5 hours for All CI Checks. Now they wait at most 1.5 hours, I think we should stick to this.

Describe alternatives you've considered

No response

Verification

  • I have verified before submitting the report.

Read the original on github.com ↗