What's cooking on Sourcehut? February 2019

Message ID
Sender timestamp
DKIM signature
Download raw message
Hi folks! Thanks again for kicking the tires during the Sourcehut alpha.
I'm now working on Sourcehut (and other FOSS projects) full-time thanks
to your support. My productivity is already way up as a result. Also:
big thanks to everyone who came out to the sr.ht meetup at FOSDEM!

Another thousand user joined us this month, and we now number 7,598 in
total. Welcome, everyone!


First, head's up that on Monday I'm moving Sourcehut into a bigger rack
at the datacenter, to make room for several new servers. This will cause
intermittent outages throughout the day. If all goes according to plan,
these outages won't last longer than a 10-15 minutes each.

	general news

Relatedly, I'm installing some new hardware soon, mostly to improve
builds.sr.ht. I hope to give each build 2 cores (on faster CPUs) and
extend the build timeout accordingly. I'm also making room in the
datacenter for the POWER9 servers which are set to arrive at the end of
Q1 - two servers, actually, thanks to someone who generously donated
their pre-order to Sourcehut. With the extra room I also plan on setting
up a RISC-V builder soon, and I may install another one or two general
purpose compute machines to pick up the load as I expand Sourcehut into
a highly-available and redundant service.

The port to Alpine Linux and is also almost done, with the only remaining
service being the builds.sr.ht master. I am almost done with this, but
it requires some special considerations when deploying so it will take a
little while longer to complete this workstream. As part of this work I
also overhauled how I manage packaging for Alpine Linux and Arch Linux,
the end result being a rather nice set of scripts and build manifests
that makes everything build consistently and easily, and I hope will be
helpful to others who are maintaining their own repos.

Generic search tools have also been added to core.sr.ht and implemented
in several parts of sr.ht. This should make it easier to add powerful
search functionality to every site.

Also! Some of you at FOSDEM saw a preview of a new tutorial website I'm
working on, git-send-email.io, which aims to educate people on how to
use git send-email much better than my crappy page on man.sr.ht can. I
need to build some more interactivity into it, which will require some
of the things I have planned for webhooks (discussed later in this
email), but I hope to complete that soon as well.


I'm happy to announce that experimental Mercurial support is now
available! Again, this is still considered experimental. The following
caveats apply:

- Backups are NOT being taken of the current service. I don't intend to
  delete data but in the event of catastrophic failure there are not any
  backups to recover from.
- builds.sr.ht integration is not wired up
- You may find bugs throughout

HUGE thanks to sr.ht contributor Ludovic Chabant for putting in tons of
work to make this a reality.


I'm happy to announce that FreeBSD support has matured with the help of
sr.ht contributor Simon Ser and various members of the #sr.ht IRC
channel. FreeBSD 11.x, 12.x, and current images are now available and
are automatically refreshed weekly/monthly. I have also nearly completed
NetBSD support as well, and I'm just pounding out a few bugs before I
put a bow on it (if you want to try it, the `netbsd/latest` image will
work but YMMV).

In smaller news, builds.sr.ht also now doesn't DoS itself when rendering
large log files - only the last 128KiB of each file is shown.


Minor news: you can now download an entire thread as mbox, which is
useful for feeding several patches to `git am` at once. The design has
also been adjusted to fit the full-width layout being applied everywhere

Additionally, per the search improvements in core.sr.ht, you can now
search lists.sr.ht archives by sender (e.g. `from:me` or `from:"Drew
DeVault <sir@cmpwn.com>") or arbitrary mail headers (e.g.


New sourcehut contributor Ryan Chan has implemented the deletion of
wikis you don't want anymore. Thanks Ryan! Some discussion is also being
made around turning man.sr.ht into another scm.sr.ht frontend like
git.sr.ht and hg.sr.ht, allowing us to easily implement more powerful
tools for diffing changes, browsing wiki logs, etc.


I have finally finished putting the last bricks in place for a major
workstream: APIs & webhooks. I just put up a proposal for discussion on
~sircmpwn/sr.ht-dev - if you have an opinion, please stop by. I have
abstracted most of this work in core.sr.ht so I can easily introduce it
throughout *.sr.ht, but meta.sr.ht was the first guinea pig because some
of its webhooks are crucial to sr.ht's own operation.

To this end, I now have some draft APIs and webhooks implemented for the
information stored on meta.sr.ht. Each other project - git.sr.ht,
todo.sr.ht, etc - is now using these APIs and registering a webhook
automatically on login to keep its own database up-to-date. This fixes,
for example, the long annoying issues with updating your email address
and only meta.sr.ht knowing about it.

These aren't stable for end-user consumption, but they're a HUGE step
that unblocks a lot of other work, including APIs & webhooks throughout
sr.ht, better communication between sr.ht services via dispatch.sr.ht
(such as linking up commits to tickets, starting builds when emails
arrive on a list, etc).