Hi, On Thu, Feb 18, 2016 at 12:25:53PM +0000, Justin Dray wrote: > I actually have a Jenkins setup for my packages that does almost exactly > that, I have a job generator build that I give an AUR package name to and > that's all the config for new packages, and it builds them in a docker > container. > > You can obviously set up dependencies between the jobs to build in order, > but that part isn't automatic yet. Its been pretty reliable for me over the > past year or so since I last really changed anything. > > If you're interested, let me know and I can share the scripts and stuff. > Just on my phone at the moment or I would link them here.
Yes, I would be interested! Out of curiosity, why do you use docker containers instead of the "official" method with chroots? https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot > Cheers, > Justin > > On Thu, Feb 18, 2016, 9:51 PM Baptiste Jonglez <[email protected]> > wrote: > > > Hi, > > > > I would like to run some kind of continuous integration of my AUR > > packages. The goal is to know when a package I maintain fails to build > > because either: > > > > 1/ its dependencies have been updated (new API, new incompatible version > > of GCC, ...) > > > > 2/ for -git packages, changes made upstream broke something (new > > dependency needed, new build system...) > > > > The scripts in devtools [1] look like they should work just fine to > > automate these kind of builds. After all, they are used to build the > > official Archlinux packages. > > > > However, I found that the build scripts do not really handle dependencies. > > When building a given package, they just install deps and makedeps from > > the existing Archlinux repositories. This is an issue when AUR packages > > depend on each other, because then dependencies cannot be installed from > > the Archlinux repositories... > > > > It *is* possible to manually pass packages to install in the chroot before > > building, but this is far from convenient. For instance, ring-daemon > > depends on opendht, so I would need to do this: > > > > cd opendht > > extra-x86_64-build > > cd ../ring-daemon > > extra-x86_64-build -- -I ../opendht/opendht-0.5.1-1-x86_64.pkg.tar.xz > > > > When there are multiple dependencies, it quickly becomes a nightmare to > > automate (especially because dependencies need to be passed in the right > > order). > > > > Is there any script that automates dependency handling when building? > > Basically, it would probably need to perform a topological sort, build > > packages in this order, and push them to a local repository to be able to > > build later packages. > > Or did I take the wrong approach entirely? > > > > Thanks, > > Baptiste > > > > [1] https://projects.archlinux.org/devtools.git/ > > > > PS : Some existing efforts I found about CI with Arch: > > > > - > > https://lists.archlinux.org/pipermail/arch-dev-public/2014-November/026757.html > > https://jenkins.arch-ci.org/ > > No script provided, site appears to be down > > > > - http://openbuildservice.org/2012/09/10/arch-linux-support/ > > Source code is unreadable (enormous Perl scripts, no modularity) > > > >
signature.asc
Description: PGP signature
