This does a few things, see individual commits for details. But in a nutshell, switches build to goreleaser, builds .deb packages, uploads debs and rpms to packagecloud.io for repo access, all in CI (but runnable locally, too).
CI builds packages for all master commits as well as PR changes, but only tagged ones are uploaded to packagecloud.
The packagecloud repo from my fork produced by this stuff can be browsed at https://packagecloud.io/scop/ssh-inscribe. Repo config instructions are provided there, but they're somewhat messy, here are TL;DR versions:
sudo mkdir -p /etc/apt/keyrings
curl -fSsL https://packagecloud.io/scop/ssh-inscribe/gpgkey | sudo tee /etc/apt/keyrings/TEMPORARY-scop-ssh-inscribe.asc >/dev/null
cat <<\EOF | sudo tee /etc/apt/sources.list.d/TEMPORARY-scop-ssh-inscribe.list >/dev/null
deb [signed-by=/etc/apt/keyrings/TEMPORARY-scop-ssh-inscribe.asc] https://packagecloud.io/scop/ssh-inscribe/any any main
EOF
Client packages are tested only to the extent that they install and output help, on Ubuntu 20 and CentOS 7. Server packages are install-tested only on same distros.
This does a few things, see individual commits for details. But in a nutshell, switches build to goreleaser, builds .deb packages, uploads debs and rpms to packagecloud.io for repo access, all in CI (but runnable locally, too).
CI builds packages for all master commits as well as PR changes, but only tagged ones are uploaded to packagecloud.
Releases created by goreleaser look like this: https://github.com/scop/ssh-inscribe/releases/tag/0.0.0
The packagecloud repo from my fork produced by this stuff can be browsed at https://packagecloud.io/scop/ssh-inscribe. Repo config instructions are provided there, but they're somewhat messy, here are TL;DR versions:
yum and friends distros:
apt distros:
Client packages are tested only to the extent that they install and output help, on Ubuntu 20 and CentOS 7. Server packages are install-tested only on same distros.