MacPython / openblas-libs

BSD 2-Clause "Simplified" License
9 stars 13 forks source link

Move aarch64 builds off travis #167

Open mattip opened 4 months ago

mattip commented 4 months ago

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?

mattip commented 4 months ago

@andyfaff what would be the easiest way to start using cirrus for aarch64 builds?

andyfaff commented 4 months ago

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.