We decided on supporting the x86_64-v3 microarchitecture but not that much have happened since then. Allan did the legwork to get some basic support into `devtools`, and suggested we start rebuilding some packages. This is a bit tedious because we don't have any infrastructure in place to do this job. Supporting two architectures would end up having us package maintainers do two builds per package that needed the support.
After brooding a bit on this personally I wound up taking a stab at creating some build infrastructure for Arch.
I have two personal goals:
1. Allow automatic builds and personalized staging repositories. 2. Allow rebuilds of different architectures.
I have currently written a POC which does *almost* fulfill both of these goals. It uses `devtools` to build packages, and serves them over HTTP in temporary staging repositories.
I decided to go with buildbot as I created something similar many years ago, and it allows us to have a flexible, programmable and independent build infrastructure which is decoupled from our VCS services.
The source code for our project can be found on gitlab. https://gitlab.archlinux.org/foxboron/archlinux-buildbot
You can visit the buildbot instance on https://buildbot.pkgbuild.com/#/. It is also currently hooked up with keycloak so if you have a staff account you can log inn and mess around with the system.
To try things out and build a list of packages, or a todo list, you can visit the "Build Package List" builder and hit the blue button: https://buildbot.pkgbuild.com/#/builders/4
Same thing for "Build Package". https://buildbot.pkgbuild.com/#/builders/1
*Please* keep in mind the builders are running on two small VMs under my TV. Do not build obscene and resource intensive packages :) If we decide we want to move forward with this we'll hook this up with more beefy hardware, but until we get there the builders are going to be some ad-hoc best effort stuff.
I also need help developing these things, so please continue to read on if you are interested.
It would also be great with feedback from people that have features, ideas or issues that would need to be addressed.
# Architecture rebuilds
To support rebuilds I have implemented a build thing which currently watches a limited set of packages on svn.
An example build of vim can be found here: https://buildbot.pkgbuild.com/#/builders/12/builds/19
If you want to look at the artifacts you can visit here: https://buildbot.pkgbuild.com/srv/ftp/extra/x86_64_v3/
If you want to add packages for rebuilds you can send changes to this file: https://gitlab.archlinux.org/foxboron/archlinux-buildbot/-/blob/master/maste...
The same notice applies here and I won't accept huuggee packages to be rebuilt. In the future this restriction won't be there.
If anyone reading this want to try hook up risc-v builders, ARM builders or 32 bit builders it would be interesting to try that. Please reach out off-list or on #archlinux-projects @ libera. The hosting is going to be ad-hoc and best effort so there isn't any expectations of uptime :)
# Building packages
For general package builds I have some ideas on how to do this. But nothing is written and I need help to accomplish this. I don't expect us to deal with the buildbot interface directly, and would much rather have some abstractions in front of this to help us submit builds.
Currently I have started a blank repository for `buildctl` where I want to experiment with some easy-to-use build tooling for rebuilds, so-name builds and general package bumps.
The mock-ups for `buildctl` is on this markdown pad: https://md.archlinux.org/NNgk9PN8QmanxElQsYBxwg
It would be great to get more hands these two projects :) Please reach out to me on #archlinux-projects @ libera, or off list for questions.