Earlier this year, Github released their workflow automation tool Actions. Github claims to provide nothing less than world class CI/CD with Actions. After it's release in Autumn 2019, I took the chance and migrated the multi-stage CI Pipeline of remoteAudio to Github Actions.
One of Golang‘s strength is that it supports cross compiling to literally any common Operating System and CPU architecture out of the box. However that's only true for projects written in pure Go. Normally that's not a problem, but sometimes we depend on 3rd-party C libraries… and that's when things tend to get complicated.
In this post I will explain how you can cross compile your cgo project for multiple operating systems and architectures in a clear and structured manner.