StarlingUAS / ProjectStarling

BRL Flight Arena Infrastructure 2.0
Other
16 stars 3 forks source link

Use native ARM64 runners #56

Closed rob-clarke closed 3 years ago

rob-clarke commented 3 years ago

GitHub runners are really slow when doing the qemu supported ros1_bridge build. It seems that the workflows randomly fail due to taking too long. This is partially because the ros1_bridge build is super slow. This problem goes away once MAVROS for ROS2 is stable enough for use.

Ideally, we'd use native runners. As we're doing multi-platform builds, we need native runners for both amd64 and arm64. buildx should be able to manage splitting the build across multiple Docker contexts before pulling them back together for pushing the manifest. Having the runner on an amd64 platform with an accessible ARM64 context should allow this.

There are some security concerns surrounding self-hosted runners and public repos. This PR: https://github.com/actions/runner/pull/783 adds a way to restrict who can run on a self-hosted runner. There is also a potential solution through GitHub environments.

rob-clarke commented 3 years ago

Closing as adding caching has solved most of the workflow timeout issues. If major changes are made to the mavros image a long build will likely result but this should be rare.