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.
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.
GitHub runners are really slow when doing the
qemu
supportedros1_bridge
build. It seems that the workflows randomly fail due to taking too long. This is partially because theros1_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
andarm64
.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 anamd64
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.