Skip to content

Latest commit

 

History

History
75 lines (52 loc) · 1.37 KB

TESTING.md

File metadata and controls

75 lines (52 loc) · 1.37 KB

Testing the installer

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.

Results

Alpine

docker run -it --rm alpine
  apk add curl

Works; led to adapting checksum handling to the busybox sha256sum command.

Arch Linux

docker run -it --rm archlinux
  pacman -Sy
  pacman -S unzip

Works.

Ubuntu

docker run -it --rm ubuntu
  apt update
  apt install curl unzip

Works.

Fedora

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.

FreeBSD

# 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.