uraimo / run-on-arch-action

A Github Action that executes jobs/commands on non-x86 cpu architectures (ARMv6, ARMv7, aarch64, s390x, ppc64le, riscv64) via QEMU
BSD 3-Clause "New" or "Revised" License
682 stars 151 forks source link

Using Actions #111

Closed Bingdom closed 1 year ago

Bingdom commented 1 year ago

Hello,

I was wondering if there was a way to use actions?

Currently my situation is to use Python under debian. Python cannot be installed directly from debian which means I have to compile it myself. I've tried building python, but it's not ideal and takes a very long time.

I'm quite new to GitHub Actions, so I'm not sure of the best way it could be implemented?

martin-g commented 1 year ago

Hi! It is not clear what exactly you ask and want to do. run-on-arch-action is an Github Action! So, I guess the answer to your question is YES.

Bingdom commented 1 year ago

Ok sorry, I'll try to be more clear-

Essentially I want to run Python under aarch64 with Debian.

While yes this action does let you run commands under the distro/architecture, there appears to not have a method to be able to run GitHub actions from within this action- especially the Python action.

So all this caching stuff I'd have to do manually (like caching pip) from my understanding.

My ultimate goal is to compile my python project under various different architectures/distributions

martin-g commented 1 year ago

It is more clear now! No, this action cannot execute inner actions. For that you can use self-hosted runners. For example you can get a free Linux ARM64 VM from Oracle Cloud and setup a self-hosted runner on it. The extra bonus is that it will be much faster than QEMU emulation. But I don't think Oracle Cloud provides Debian images... They have Ubuntu.

uraimo commented 1 year ago

@Bingdom as Martin said, if you add additional steps after run-on-arch those will run on host, outside the emulated architecture that you wanted. All the things you want to do needs to be inside the run section.