Quill
The mac codesign utility is great, but it’s not available on all platforms. For cross-platform toolchains like golang this can get painful in subtle ways. Goreleaser is a great “one-shot” release solution, but requiring running on a mac just for the signing step now forces the reset of your build steps to work on a mac as well — and since this is part of the release process, it needs to work in CI. This is a problem since, due to licensing reasons, the default mac runner for github actions cannot have docker installed by default. This means that you need to resort to installing docker on a mac in CI first before getting started, which can take upwards of 20 minutes.
Unlike docker, which inherently needs to run on a linux host (docker on a mac is a VM), there is nothing inherently mac-specific about signing a binary. This tool enables already cross-platform toolchains to run the signing step on any platform.
Installation Instructions
Linux
Download Quill
{
"url": "{{ .SVar `.tool.quill.download.url` }}",
"destination_folder": "{{ .PDownloads }}",
"output_filename": "{{ .SVar `.tool.quill.download.filename` }}",
"overwrite": false
} Extract Quill Release
{
"destination": "{{ .PTools }}/quill/{{ .SVar `.tool.quill.download.version` }}",
"max_file_size": 0,
"skip_symlinks": false,
"preserve_permissions": true,
"remove_existing": true,
"source": "{{ .PDownloads }}/{{ .SVar `.tool.quill.download.filename` }}"
}
MacOS
Download Quill
{
"url": "{{ .SVar `.tool.quill.download.url` }}",
"destination_folder": "{{ .PDownloads }}",
"output_filename": "{{ .SVar `.tool.quill.download.filename` }}",
"overwrite": false
} Extract Quill Release
{
"destination": "{{ .PTools }}/quill/{{ .SVar `.tool.quill.download.version` }}",
"max_file_size": 0,
"skip_symlinks": false,
"preserve_permissions": true,
"remove_existing": true,
"source": "{{ .PDownloads }}/{{ .SVar `.tool.quill.download.filename` }}"
} Binaries
- quill