Might also be worth noting that these aren't being natively built in
xcode, but rather cross compiled via golang's compiler on a linux
machine
My experience is that Go binaries often have problems with code signing, primarily, because Go does not use the Apple linker [1].
We sign them and notarize (but can't staple because they aren't apps).
Understood. But you can and should staple the installer package.
My advice here is that you sign all your binaries, from the inside out, and then bundle them up into an installer package, sign that, notarise the installer package, and then finally staple that package. The resulting ticket will cover the installer package and all the binaries it contains. It will be ingested by the system at install time, so it’ll be available when the user goes to run one of your executables.
For more details on each step, see Signing a Mac Product For Distribution. For advice on how to test this stuff, see Testing a Notarised Product.
If you’re already doing things this way and still have problems, open a DTS tech support incident so that Matt or I can take a more in-depth look at your binaries.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
[1] By default. I believe it has options to allow this, but I’m hardly a Go expert.