If you're looking for an example of the split required when you're building in Linux and signing in Windows, that's what we do with xUnit.net. In particular, you need to:
- upload the unsigned packages on the Linux side (https://github.com/xunit/xunit/blob/46ddd4600c4baaa30dac65fda54a59db18d00b37/.github/workflows/push-main.yaml#L42-L47)
- download the unsigned packages on the Windows side (https://github.com/xunit/xunit/blob/46ddd4600c4baaa30dac65fda54a59db18d00b37/.github/workflows/push-main.yaml#L75-L79)
- make sure to download the sign tool (we use
dotnet tool restore
anddotnet-tools.json
https://github.com/xunit/xunit/blob/46ddd4600c4baaa30dac65fda54a59db18d00b37/.config/dotnet-tools.json#L11-L15) - call the sign tool (https://github.com/xunit/build-tools-v3/blob/754f66d4b6bc504b56852c941fbc4eac7f13a743/targets/SignPackages.cs)
- then if you want the artifacts in Actions to be the signed versions, you can re-upload the now-signed packages
-- https://discord.com/channels/966483029830824008/966484831