Open oursland opened 2 months ago
That proposal is very good and useful. Would you be interested in (maybe in a future proposal, or maybe an extension to this one) also researching a bit about mechanisms we could adopt to limit the carbon emissions that FreeCAD generates through CI?
I'm thinking roughly, how we could limit ourselves the use of CI without sacrificing too much of the convenience, maybe some CI solutions are also "greener" than others, etc.
Feel free to discard this if you aren't interested, we'll probably attack that anyway at some point, but maybe it can plug in this proposal nicely...
It is reasonable to discuss the carbon impact of each option.
The most minimizing of carbon footprint is to continue to operate the free runners. Data centers work quite hard to minimize unnecessary power utilization often opting for on-prem renewable sources from solar and wind, and shared runners ensure that the computers are being used in the most efficient manner possible.
Given my past experience, the strong recommend would be to purchase purpose-specific computers which maximizes efficiency between CPU, RAM, and storage in ways that datacenters fail to achieve. Unfortunately, this is the least efficient system.
Actual numbers on this will take a while to compile, once approved, but it all involves a trade-off of what the project needs and what it is willing to compromise on.
@yorikvanhavre , I have noticed that on any branch I make in my own freecad fork, on any WIP commit I make, the CI system is triggered. I think this is a real waste of carbon footprint. Perhaps this should be changed such that only if I create a PR, this will trigger the CI. I also wonder, does anyone who forks freecad, even if not a contributor, get the CI running for each commit he/she makes?
shai
In general, WIP commits and draft PRs will still want to be checked via the CI to ensure proper compilation and test passing. If desired, you can disable the CI on push
and pull_request
triggers with commit messages.
CI will trigger for users that have enabled GitHub Actions on their fork.
@oursland , Good to know. Thanks!
Thanks again for the grant application, @oursland -- the FPA's grant review committee has forwarded its approval of this grant on to the FPA members, who will now vote on the allocation. This process typically cases 1-2 weeks: I will keep you updated, and will forward any questions or concerns from FPA members to you here.
@oursland thank you again for your proposal: the FPA has voted to fund this grant. When you are ready for payment, please coordinate with wandererfan@freecad.org and yorik@freecad.org to arrange the details.
@oursland, maybe this question may seem a bit ridiculous since I don't have full knowledge about FreeCAD's current servers. Does it make it possible or easier to host some helpful things like LibreTranslate, Elasticsearch etc.?
@Reqrefusion this proposal is limited to the CI system. At current the CI runners are on shared servers provided by GitHub, which have substantial limitations.
Other servers such as the forum and wiki are currently managed by @kkremitzki, I believe.
Proposal description
This proposal is to investigate the options for hosting paid CI GitHub runners. The current CI runners are the GitHub provided free runners that are relatively slow and concurrency limited. Paid runners and self-hosted runners either in the cloud or on-prem provide a means to perform quicker builds and concurrent builds.
Deliverables
The deliverable is a report indicating the costs and benefits of each approach:
Consideration shall be given to the different build configurations including:
Timeline
This report will take approximately two weeks to compile.
Risks and mitigation
The deliverable is a report and has minimal risk to the FreeCAD project.
Compensation
The compensation for the report will be $500.
About you