lupyuen opened a new issue, #14376:
URL: https://github.com/apache/nuttx/issues/14376

   Hi All: We have [an 
ultimatum](https://lists.apache.org/thread/2yzv1fdf9y6pdkg11j9b4b93grb2bn0q) to 
reduce (drastically) our usage of GitHub Actions. Or our Continuous Integration 
will halt totally in Two Weeks. Here's what I'll implement within 24 hours for 
`nuttx` and `nuttx-apps` repos:
   
   1. When we submit or update a __Complex PR__ that affects __All 
Architectures__ (Arm, RISC-V, Xtensa, etc): CI Workflow shall run only half the 
jobs. Previously CI Workflow will run `arm-01` to `arm-14`, now we will run 
only `arm-01` to `arm-07`. (This will reduce GitHub Cost by 32%)
   
   1. When the __Complex PR is Merged:__ CI Workflow will still run all jobs 
`arm-01` to `arm-14`
   
      (Simple PRs with One Single Arch / Board will build the same way as 
before: `arm-01` to `arm-14`)
   
   1. __For NuttX Admins:__ We shall have only __Four Scheduled Merge Jobs__ 
per day (This will reduce GitHub Cost by 17%)
   
      I shall quickly [Cancel any Merge 
Jobs](https://gist.github.com/lupyuen/9c3ecea33525f66e163d31ddda85dba2) that 
appear. Then at 00:00 / 06:00 / 12:00 / 18:00 UTC: I shall restart the Latest 
Merge Job that I cancelled.
   
   1. __macOS and Windows Jobs__ (msys2 / msvc): They shall be totally disabled 
until we find a way to manage their costs. (GitHub charges [10x premium for 
macOS 
runners](https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions#minute-multipliers),
 2x premium for Windows runners!)
   
      Let's monitor the GitHub Cost after disabling macOS and Windows Jobs. 
It's possible that macOS and Windows Jobs are contributing a huge part of the 
cost. We could re-enable and simplify them after monitoring.
   
      (This must be done for BOTH `nuttx` and `nuttx-apps` repos. Sadly the ASF 
Report for GitHub Runners doesn't break down the usage by repo, so we'll never 
know how much macOS and Windows Jobs are contributing to the cost. That's why 
we need https://github.com/apache/nuttx/pull/14377)
   
   We have done an Analysis of CI Jobs over the past 24 hours:
   
   
https://docs.google.com/spreadsheets/d/1ujGKmUyy-cGY-l1pDBfle_Y6LKMsNp7o3rbfT1UkiZE/edit?gid=0#gid=0
   
   Many CI Jobs are __Incomplete__: We waste GitHub Runners on jobs that 
eventually get superseded and cancelled
   
   ![Screenshot 2024-10-17 at 1 18 14 
PM](https://github.com/user-attachments/assets/953e2ac7-aee5-45c6-986c-3bcdd97d0b5e)
   
   When we __Half the CI Jobs:__ We reduce the wastage of GitHub Runners
   
   ![Screenshot 2024-10-17 at 1 15 30 
PM](https://github.com/user-attachments/assets/bda5c8c3-862a-41b6-bab3-20352ba9976a)
   
   __Scheduled Merge Jobs__ will also reduce wastage of GitHub Runners, since 
most Merge Jobs don't complete (only 1 completed yesterday)
   
   ![Screenshot 2024-10-17 at 1 16 16 
PM](https://github.com/user-attachments/assets/1452067f-a151-4641-8d1e-3c84c0f45796)
   
   [See the ASF Policy for GitHub 
Actions](https://infra.apache.org/github-actions-policy.html)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to