i am slowly becoming a "(GitHub|Forgejo) Actions expert" in the same way and sense as i have become a CMake expert
distressing.
run: stepfind_package(ArguablyUnnecessaryGHAIntegrationHelpers)
in all seriousness, a cmake helper for deploying to Pages has _a_ reason to exist?
@whitequark fwiw, "needing to compile the compiler first" (or, usually, a less extreme but approximately equivalent form, "needing to either compile or acquire dependencies for (e.g. via PyPI) a bespoke preprocessing tool") is basically _the_ use case that causes us to prefer "ad-hoc garbage build system" over something more principled
so more examples of that throughout the ecosystem might be beneficial if you have "principled build systems" as a goal
@whitequark CI done well: an extra run of the normal quick checks you could totally have done locally, but might have forgot to.
CI as I usually see it done: I know this is the most painful and demoralizing feedback loop you've ever had to squeeze yourself through, but good news! It's also wasting incredible amounts of cloud compute resources 💜🥰
@whitequark that's neat! You are far more "on it" than most people.
I did a local runner setup once and loved how fast jobs started compared to the default setup, but never did any electrical or network measurements.
@MaddieM4 the CI machine with a 20-core Xeon i have at home idles at about 50W and spikes to about 100W when running a build. i'm going to ignore base load for the moment since in a datacenter that would be shared between thousands of users. 50W for 10min (a reasonable amount of time to build a big C++ project like Yosys) is 0.008 kWh. it's equivalent to leaving your bathroom light on for a hour. or running a kettle for 40 seconds
this is a rounding error
@whitequark @MaddieM4 Also, there's probably enough projects that could host CI on very minimal systems (e.g. something embedded with an idle power consumption of 10W), and power that using local solar power or such (especially since many of them don't need to have 99% uptime, "when the sun is shining + some battery storage") most of the time.
I did that for some time in the past (although it very strictly needed battery buffering in order to be able to spin up an HDD during boot).