This is currently done manually, using Docker and various other host OSes. We should find a sane way to do this in a performant manner.
On each OS, I run:
curl -fSs https://get-nats.io/install.sh | sh
curl -O https://get-nats.io/install.sh
sh ./install.sh -c nightly -f
nats
If testing changes before pushing, just docker cp
the script into a running
image, leaving it as clean and free of other supporting changes as possible.
docker run -it --rm alpine
apk add curl
Works; led to adapting checksum handling to the busybox sha256sum command.
docker run -it --rm archlinux
pacman -Sy
pacman -S unzip
Works.
docker run -it --rm ubuntu
apt update
apt install curl unzip
Works.
docker run -it --rm fedora
dnf install unzip
Works; led to discovering Fedora drops xargs(1) and some unhappiness.
Workaround implemented; prior to workaround, Fedora worked after
dnf install findutils
.
# run somehow, I have jails I use
pkg install curl
Works.
Unzip is in base system, curl is in Ports.
If we want to start supporting replacing curl with other tools, then for
FreeBSD we could use fetch
in the base system: fetch -1qao - "$URL"
will
write the resource found at that URL to standard output.