Low-volume mailing list for announcements of new sr.ht services and major features
<20180915001933.GA7977@homura.localdomain>
Here's another update on the progress of the sr.ht alpha for you. Thanks again to everyone for testing out the service, keep the feedback coming! general news I'm still working on finalizing the infrastructure for sr.ht. I got some more databases migrated and refined the Alpine packages a bit more, which I need to finish so I can complete the migration to the stable infrastructure. To this end I think meta.sr.ht is pretty much ready to go, but I still need to spend more time on the other services before they're ready to migrate. I still haven't finished instrumenting everything, but I'll prioritize that once the new infrastructure is completed. I also spent some time optimizing the weight of all sr.ht pages. I migrated us to Font Awesome 5, which uses SVG icons, and wrote some custom server-side code to only include the fonts that are used on each page instead of the big font bundle. I optimized some nginx settings and slimmed down the CSS bundle as well, and optimized some images on the marketing page that I had missed. This has brought down the page weight of sr.ht to sub-100 KiB on most pages with a cold cache, and sub-10 KiB with a warm cache. I'm pretty satisfied with this outcome, but there's even more room to improve - if anyone is interested this would be a great place to start working on your first patches. I also unified the sr.ht config files so that you only have to write one config file for your entire sr.ht network. This also allows me to specify some config paramters which are consistent across the newtork, such as SMTP settings, that I can use to extend the functionality of the shared model, for example to email stack traces for later inspection. This also makes it easier for third parties hosting their own sr.ht instances, as difficult configuration was the #1 complaint I heard from third-party sysadmins. builds.sr.ht The most exciting work recently is probably on builds.sr.ht, after I rewrote the build runner in Go over the past couple of weeks. The new runner gives you more insight into what's going on in your build and the various internal reasons they could fail, but most importantly it allows me to build interruptable builds. There's now a big "cancel" button on each job, and builds are capped to 45 minutes to prevent them from running away forever. This was a blocker for the beta, so it's nice to have it out of the way. I also added some nice quality-of-life features, such as the ability to resubmit builds and improvements to the web build manifest entry. I like Go a lot and it was really well suited to this use-case. I expect to be using it more throughout sr.ht in the future. I also merged some patches from ~hummer12007 which extends the builds.sr.ht secrets feature to support arbitrary files - not just text files. Check it out! Unfortunately it seems that the Docker-based qemu isolation isn't working out well. I've encountered spooky problems with it before[0], but this one is the worst - and is causing most Alpine builds to fail. Before the weekend is out I plan on removing Docker from the builds.sr.ht stack. Until then, I apologise for the broken Alpine builds. [0] https://github.com/moby/moby/issues/37575 I also ordered a HiFive Unleased[1] recently, a Linux-capable RISC-V board. This should arrive in November, and I intend to use it to make RISC-V builds available to builds.sr.ht users, which I'll then utilize to port Alpine Linux to RISC-V. Around this time I'll also be building out support for some running builds for other architectures, like ARM. Support for many architectures and operating systems is a huge advantage of builds.sr.ht's design, and I really want to flesh this support out and stress these strengths. RISC-V is a really exciting architecture, too - this is the first usable CPU which has 100% open source software, firmware, _and_ hardware. I'm terribly excited about it. [1] https://www.sifive.com/products/hifive-unleashed/ git.sr.ht git.sr.ht has followed along with everyone else on the config overhaul and page weight optimizations, but the most exciting new feature is in the git.sr.ht -> builds.sr.ht submission feature, which now supports submitting multiple build manifests on every push. If you create a directory at the root called .builds, every .yml file therein will be submitted to builds.sr.ht on each push. This is already being used to good effect by mrsh[1] to run builds on Alpine and FreeBSD with every push. [2] https://git.sr.ht/~emersion/mrsh This is also now being used to automatically build and publish packages for core.sr.ht on both Alpine and Arch Linux, which was a pre-requisiste to porting everything to Alpine for the Big Infrastructure Project. todo.sr.ht I spent some time making todo.sr.ht fully responsive, replacing the ticket table with a custom layout based on CSS grid. Bug trackers should be usable on phones now! It also looks better on desktops, particularly for threads with lots of comments or long titles.