proxyscotch icon indicating copy to clipboard operation
proxyscotch copied to clipboard

Get CI to sign and notarize generated macOS builds

Open athul opened this issue 5 years ago • 7 comments

It would be great if we could package the server for Mac(primary), Linux and Windows(In the near future). Goreleaser could be used with Travis CI or GH Actions.

I'll be happy to send a PR,

athul avatar Mar 31 '20 09:03 athul

Goreleaser looks perfect - I'll look at getting that setup with GH actions or Travis CI now! Thanks!

NBTX avatar Jun 07 '20 16:06 NBTX

image Success! We don't sign/notarize the builds automatically yet but that's in the pipeline, so I'll update this issue and add it to the roadmap.

NBTX avatar Jun 10 '20 16:06 NBTX

Don't you think it's better to package as a tar.gz for mac(goreleaser doesn't support dmg I guess) since downloaded binaries are need a bit more work to run as an executable. We could also use fpm or nfpm for packaging it for linux machines

athul avatar Jun 10 '20 16:06 athul

@athul I couldn't get goreleaser to work because we depend on CGO which isn't supported by goreleaser and cross-compiling failed every way I tried.

I figure a .zip compressed .app for macOS is sufficient and it'll work fine with stapling the notarization confirmation as long as I stable the binary and re-compress it. As for the server build for macOS, I just exported the binary directly because it's easier to work with than a packaged .app and I believe the package to be unnecessary for server deployment.

For Linux, I was thinking of distributing via snapcraft.io.

NBTX avatar Jun 11 '20 00:06 NBTX

I was initially going to develop and release per-platform installers that I would bundle the executable in but I ultimately decided that it would be too hard to maintain and opted instead to distribute the release binaries in some packaged form and simply have the binary install itself or guide the user through the process.

NBTX avatar Jun 11 '20 00:06 NBTX