I'm running into a problem: I'd like to use a package from AUR that takes a long time to build. Specifically, it's MPICH, and building it takes around 20 minutes on builds.sr.ht.
I have several projects that depend on it, and it seems silly to rebuild it every time, for tests that take only a couple of minutes. I realize that I could maintain a binary package myself in a repository somewhere and add it to the build manifest, but that seems like it would be prone to errors.
The natural solution would be to have a sourcehut binary repo of common AUR packages that would be updated automatically, when the archlinux image gets rebuilt. Is this something you'd be interested in supporting? Or is there some other solution I'm missing?
This is somewhat related to #58, but with a simpler solution, I think.
I think you should just petition for this package to be moved to community.
That's an interesting idea, but I'm not sure how such decisions are made within Arch. I know they keep track of the votes on AUR, but I don't know what happens beyond that. Are you familiar with their process?
It's also the case that one might want to test against packages that they are very unlikely to move to the community, such as the older versions of GCC, e.g., gcc7.
Speak to a trusted user, see if you can find someone who maintains similar packages and send them an email. Or ask in #archlinux on irc.freenode.net. If not, you could always maintain your own third-party package repo.
I'm not opposed to the latter, but then the question is how do I trigger a build job, when you update the archlinux image? Is there a hook to run my job, when core.sr.ht/archlinux.yml gets rebuilt? This is not unlike what we discussed yesterday, but in this case I don't control the dependency.
Why would you trigger a build when I rebuild the arch image?
To check if the extra packages need to be updated and update them, if necessary.
That's just not something you can do. This seems like a limitation of Arch imo. You'll have to live with occasional build failures letting you know you need to rebuild. Or, you can just follow the schedule and automatically rebuild your package on a cron. But I don't expect that to actually do much for bug prevention, since we run
-Syu
on every build. In any case, this isn't something I expect us to do anything about.
What is a limitation of Arch? I don't think we will ever allow you to register a webhook to have us notify you when a package you depend on is updated, but there are definitely options on your end:
https://www.archlinux.org/packages/$repo/$arch/$pkgname/json/ will let you scrape information such as build_date or last_update
https://www.archlinux.org/feeds/ can give you RSS updates for added/removed/updated packages; some granularity is available, though not per-package.
Another example, for future reference, in case you ever decide to revisit this issue: intel-compiler-base. It takes 5 hours to build (really just to download and to re-compress all the files; I don't think anything gets built). I imagine I'm not the only one who is interested in testing with the Intel compiler.
That seems like a much different problem to solve. Since CI builds do not save the built package, they should be optimized for that.
Meh, looks like someone already sent the exact same patch in: https://lists.sr.ht/~sircmpwn/sr.ht-dev/patches/8336