Timeouts, Nix.Ci, Deploys, Transparency, Recovery, What's Next?
It has been some time since my last update! Here are some things we've been working on -- mostly focusing on operational improvements.

Build Timeout Detection

Thanks to a patch from Daiderd Jordan (aka LnL), OfBorg now detects and handles timeouts differently from other types of build failures, adding additional clarity to the failure message.This new feature will be rolled out to the builders over the next few days.

Push-Button Deployments

The most common pull request OfBorg gets is adding regular contributors to the list of "known" users  -- GitHub accounts which are allowed to run OfBorg on their PR. These are a bit annoying to the users because I typically merge them in batches, sometimes more than a week after they come in. This isn't any fun!

I have now set up BuildKite to deploy the OfBorg infrastructure with the push of a button. This means just a couple buttons to merge and deploy new users!

Thank you BuildKite for providing their service for free for OSS.

More Deployers

Even more important than push-button deployments is now I'm no longer the only person who can deploy. As of this afternoon, Daiderd is able to merge and deploy OfBorg without my involvement. With this addition, hopefully permissions will be granted much faster. Thank you LnL!

More Transparency

OfBorg has long had a public Grafana dashboard (ever since the opening of this Patreon to fund it! Thank you!) What wasn't very public was the alerts and alert status. As of today, the Prometheus instance is also now public. If something seems broken, this dashboard should provide an easy insight in to if we know something is wrong or not.

Failures on Prometheus will trigger pages to Daiderd and I.

New Homepage

Thank you to Samuel Dionne-Riel for a new homepage to Nix.CI. It now links to the various resources and replaces the previously minimalist 404 page. I thought about doing a before/after screenshot here, but I think you'll forgive me for just doing an after. (the "after" is the header photo for this post!) 

Thank you, Samuel!

Where have I been?

Over the past decade+ I have had a growing, disabling, problem with Cubital Tunnel Syndrome (don't look up pictures.) This is the same thing as Carpal Tunnel Syndrome but in the elbow. Both elbows, really.

Around April the pain started to become disabling, and a few times between and August I was unable to work. This forced me to stop working on most of my open source projects, including OfBorg, and save myself for my day job.

Last month, I had surgery on my right elbow to improve my situation. This surgery has worked wonderfully, and I'm working to schedule my second elbow.

I'm slowly ramping back up my open source efforts, especially my work on OfBorg, and am excited to get back to the projects. Thank you everyone for your patience with me these past few months.

The Future

It is beyond time to move past posting build statuses as GitHub comments. At best, they hide incredible features of OfBorg like the automatic real-time log streaming. At worst, they're spammy.

The fairly primitive "API" of posting comments, too, is very limiting. Wouldn't it be neat to see a build happened on x86_64-linux and aarch64-linux, determine it looked fine, and trigger a build on only Darwin? Yes, I think so, but this becomes pretty complicated and may not be well served by a text box.

The current level of  funding makes it pretty easy to imagine being able to produce a binary cache from the x86_64-linux OfBorg builds.

Also, maybe GitHub Checks would be a good API to explore.

These are all the things I've been keeping in mind for "really soon" projects. Thank you, everyone, for supporting OfBorg and the Nix ecosystem. Hopefully we'll have some exciting new features and improvements ship soon after my elbows are fixed.