Skip to content

Pre‐built static binaries

Ryan Parman edited this page Mar 27, 2024 · 8 revisions

Setup

Generally, for things that are static binaries (already compiled), we'll just use the latest Ubuntu Docker image.

We use GoReleaser Pro to configure how the package is built. This allows us to define some shared configuration, so that we only need to implement the things that are specific to this package.

This will allow us to build .apk, .deb, and .rpm packages for both linux/amd64 and linux/arm64 builds.

Downloading from GitHub

For packages that already publish builds as GitHub releases, we use download-asset to download the asset, extract it, and pull out the binary we care about.

To do this, we define a new download.sh file. This file calls download-asset to perform the downloads. The download.sh file is executed by GoReleaser as a pre-build step.

Clone this wiki locally