These are two simple zig update scripts, which I use on Alpine Linux and OpenBSD to get the latest zig binary. I you only need the latest zig version, this is maybe helpful.
#!/bin/sh
# dependencies: wget, tar, minisign, posix stuff, doas (grep, mkdir, rm)
save_zig="$XDG_CONFIG_HOME/zig"
target="zig-x86_64-linux"
mirror="zig.linus.dev/zig/"
rm -rf "$save_zig"
mkdir "$save_zig"
build="/tmp/build-zig"
rm -rf "$build"
mkdir "$build"
version=$(wget -qO- "https://ziglang.org/download/index.json" | grep -A 1 '"master":' | grep -o '"version": "[^"]*' | grep -o '[^"]*$')
name="${target}-${version}"
wget -O "${build}/zig.tar.xz" "https://${mirror}${name}.tar.xz"
wget -O "${build}/zig.tar.xz.minisig" "https://ziglang.org/builds/${name}.tar.xz.minisig"
printf "untrusted comment:\nRWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U" > "${build}/minisign.pub"
(cd "$build" && minisign -Vm "${build}/zig.tar.xz")
tar -xJf "${build}/zig.tar.xz" -C "$save_zig" --strip-components=1
doas ln -sf "${save_zig}/zig" /usr/local/bin/zig
#!/bin/sh
# dependencies: ftp, tar, minisign, posix stuff, doas (grep, mkdir, rm)
save_zig="$XDG_CONFIG_HOME/zig/"
target="zig-x86_64-openbsd"
mirror="zig.linus.dev/zig/"
rm -rf "$save_zig"
mkdir -p "$save_zig"
build="/tmp/build-zig"
rm -rf "$build"
mkdir -p "$build"
version=$(ftp -o- "https://ziglang.org/download/index.json" | grep -A 1 '"master":' | grep -o '"version": "[^"]*' | grep -o '[^"]*$')
name="${target}-${version}"
ftp -o "${build}/zig.tar.xz" "https://${mirror}${name}.tar.xz"
ftp -o "${build}/zig.tar.xz.minisig" "https://ziglang.org/builds/${name}.tar.xz.minisig"
printf "untrusted comment:\nRWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U" > "${build}/minisign.pub"
(cd "$build" && minisign -Vm "zig.tar.xz")
xz -dc "${build}/zig.tar.xz" | tar -xf - -C "$save_zig" -s "/^${name}\///"
rm -rf "${save_zig}${name}"
doas ln -sf "${save_zig}/zig" /usr/local/bin/zig