postmarketOS in 2024-01: Infrastructure and bug reports

January 08, 20246 min. read

It's a new year, aaand of course that means we're all having big grandiose thoughts about our projects. postmarketOS is no different, and in pursuit of transparency and reflection we got inspired to write this very blog post about those plans and what has been happening recently.

First things first, As you may know, we recently launched on OpenCollective, and WOW, the feedback has been honestly amazing. We on the core team definitely didn't expect this level of generosity, and we're hard at work finding the best ways to use this money to improve the sustainability and reliability of postmarketOS. OpenCollective let's us easily manage expenses, pay people for their work, and receive donations. With everything being 100% transparent. We're extremely excited for the autonomy that this gives us.

Preparing for the future

We've been having a bit of a tough time with our infrastructure recently. So we decided to make use of some of the donated money to invest in a bigger, better and more reliable server and started to move services over. Towards the end of January the major bottlenecks should be resolved (we are working hard on it behind the scenes), and infrastructure should be nice and fast again.

In the further future, we would like to host our package repository and device images totally separately to our other services to minimise the risk of unplanned outages.

We will also eventually get a second dedicated server which will work as a CI runner. We currently benefit from GitLab.com's ("Free premium for Open Source projects"), without which it would not be possible to operate postmarketOS. While we are very grateful towards GitLab for this, it would be better if we didn't rely on it as GitLab may decide at any time to be not as generous in the future. Therefore we are continuing to reducing our dependency on such infrastructure.

Among other things, we hope that these changes will allow us to continue supporting more main and community devices - where we provide prebuilt images - and leave us room for some other experiments we have in mind.

Testing and CI

Testing is one of the things that currently holds us back. We support so many devices with so many different configurations that making changes to some of our more core components (like the initramfs) is extremely difficult. The testing team which you can join here helps a lot, but it's certainly understandable that folks may not want to test potentially risky changes, or some of the more boring housekeeping things. It can also be challenging to provide a good method for how to test some features (i.e. if it's not a codepath which is hit under normal usage).

Writing a testing guide is always useful, but there's no reason we can't do better - we already have the wonderful pmbootstrap ci command which lets you run CI for most of our repos locally, and we plan to have proper automated testing eventually which will let us properly validate a lot of the most important things.

So what's new?

The month of December has been surprisingly interesting, considering the time of year and just how ready everyone seemed to be for the holidays.

And what's next?

Currently in the pipeline are quite a few really nice improvements, feel free to check them out and test them (only IF they ask for testing!) - but please try not to bother developers. In no particular order:

Conclusion

It has been a while since we did the postmarketOS in YYYY-MM blog posts. This is an experiment to bring them back. Let us know if you enjoyed reading this post. Depending on that (and depending on just how much other stuff needs to be done), we may write them more regularly again.

If you appreciate the work we're doing on postmarketOS, and want to support us, consider joining our OpenCollective.