Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move aarch64 builds off travis #167

Open
mattip opened this issue Jul 25, 2024 · 2 comments
Open

Move aarch64 builds off travis #167

mattip opened this issue Jul 25, 2024 · 2 comments

Comments

@mattip
Copy link
Collaborator

mattip commented Jul 25, 2024

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
Copy link
Collaborator Author

mattip commented Jul 31, 2024

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

@andyfaff
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants