5 ms·
We're using Go, so cross-compilation has never been a big problem (for producing artifacts). But this'll be great for testing on ARM. I'm interested to see the
by bhollis 2y ago
We're using Go, so cross-compilation has never been a big problem (for producing artifacts). But this'll be great for testing on ARM. I'm interested to see the performance of these instances too - our experience has been that Amazon's Graviton processors have fantastic bang-for-buck vs. Intel/AMD.
- yjftsjthsd-h 2y agoIt may be worth checking the price and performance numbers; it might be worth running builds on ARM and cross-compiling your x86 binaries (based on https://github.blog/news-insights/product-news/arm64-on-github-actions-powering-faster-more-efficient-build-systems/ https://github.blog/news-insights/product-news/arm64-on-gith... claiming 37% cheaper).
- ncruces 2y agoIf you're using Go, you can also run tests with QEMU binfmt on Linux. https://wiki.debian.org/QemuUserEmulation https://wiki.debian.org/QemuUserEmulation Many people don't know this, but on a correctly configured amd64 Linux box this just works: $ GOARCH=s930x go test The test is cross compiled, and then run with QEMU user mode emulation. Configuring this for GitHub Actions is a single dependency: docker/setup-qemu-action@v3 Also, if you want to test different OSes, there are a couple of actions to accomplish it. I'll probably be integrating these Linux ARM instances, but this workflow should give you an idea of what was already possible with the existing runners: https://github.com/ncruces/go-sqlite3/blob/main/.github/workflows/test.yml https://github.com/ncruces/go-sqlite3/blob/main/.github/work...
- foldr 2y agoVery useful example. Thank you.