Open mattip opened 4 months ago
@andyfaff what would be the easiest way to start using cirrus for aarch64 builds?
It's made a lot easier if you have a local machine with an ARMy processor. I'm guessing that you don't have a linux_aarch64 machine, but it's just as good to have a macOS machine with an M-series chip. Fingers crossed that you have one of the two.
One can do most of the development iterations on that local machine, using the cirrus-cli
client. I wrote some instructions for that at https://github.com/numpy/numpy/wiki/Debugging-CI-guidelines#running-cirrus-ci-configurations-locally. As with most CI development you want to be doing those iterations locally as there's a lot of them.
Once one has iterated locally the GH repo owner will need to initialise things on cirrus-ci. I can't remember how exactly things go here, as I've only done it a couple of times. There's a limit on the free minutes that cirrus offers, so you want to make all mistakes locally. Things would go easier if there was a funding source to buy minutes, as we do for numpy/scipy.
I would proceed by modifying the numpy and scipy repo configurations. The main thing will be to get the 'core' script working correctly. i.e. from a given docker image all the commands you'd need to run to build (, test?, ) and upload.
The root of those repos have a .cirrus.star
file that creates the jobs to run. The config for those jobs are specified in subdirectories (e.g. numpy/tools/ci
).
The image I used in numpy and scipy is ubuntu based. I didn't fully figure out how to use an arbitrary docker image.
The cirrus documentation is well developed.
The travis aarch64 builds have been failing for a while now, as can be seen by the build logs. We should find an alternative that allows testing. Maybe we could get away with a cross-compile and then test on QEMU?