I just received a warning email from GitHub notifying me that I’m about to exhaust my free Actions quota. This was unexpected because I’ve been running the same uptime-monitor CI for years without issues.
The workflow runs every 5 minutes and typically completes in around 15 seconds per run. However, after checking the Actions usage metrics, I noticed something strange—while the workflow ran 1,256 times, the reported execution time is 1,258 minutes.
It seems like GitHub is rounding each run up to a full minute, even if it finishes in just a few seconds. Has anyone else noticed a change in how GitHub Actions execution time is calculated?
It's quite funny to classify it as such, given you need to run your programs like a script as it's nearly impossible to compile a binary you can distribute (though I am aware they're working on this as a priority task, currently).
It’s not always clear what is meant by “system programming”. I’ve begun writing utility scripts in Julia; it’s practical now because the startup time is vastly improved. These can be run like bash scripts, with a shebang line that invokes Julia with the desired environment (using the --project flag).
> It’s not always clear what is meant by “system programming”. I’ve begun writing utility scripts in Julia; it’s practical now because the startup time is vastly improved. These can be run like bash scripts, with a shebang line that invokes Julia with the desired environment (using the --project flag).
I think it is clear enough. The language must have a small or non-existing runtime so it is practical to write systems that do not ship the same fat runtime on every binary. The language must support compiling to binaries, otherwise it really cannot be used by itself for systems. It must provide access to the available Operating System API directly without the need for bindings (to the extent possible, as some OSs only expose the C API;ABI).
What is a system, you may ask. I think you can define that as anything that can run by itself (no runtime) and perform any "low level" operation permitted by the OS.