#!/usr/bin/env bash # Package a built wai-quantum binary for release: # # bash release/package.sh # # Writes /wai-quantum--.tar.gz holding wai-quantum (or # wai-quantum.exe), README.md and LICENSE, and beside it the archive's SHA-256 in # .sha256 in the form `shasum -a 256 -c` reads. Run from wai/wai-quantum-cli. set -euo pipefail if [ $# -ne 4 ]; then echo "usage: bash release/package.sh " >&2 exit 2 fi BIN="$1"; VERSION="$2"; TRIPLE="$3"; OUT="$4" NAME="wai-quantum-$VERSION-$TRIPLE" STAGE="$(mktemp -d)" trap 'rm -rf "$STAGE"' EXIT mkdir -p "$STAGE/$NAME" "$OUT" case "$BIN" in *.exe) cp "$BIN" "$STAGE/$NAME/wai-quantum.exe" ;; *) cp "$BIN" "$STAGE/$NAME/wai-quantum"; chmod 755 "$STAGE/$NAME/wai-quantum" ;; esac cp README.md "$STAGE/$NAME/README.md" cp ../LICENSE "$STAGE/$NAME/LICENSE" # The same bytes for the same inputs: sorted names, fixed owner and times. tar --sort=name --owner=0 --group=0 --numeric-owner --mtime='2026-01-01 00:00Z' -C "$STAGE" -cf - "$NAME" 2>/dev/null \ | gzip -n -9 > "$OUT/$NAME.tar.gz" \ || tar -C "$STAGE" -cf - "$NAME" | gzip -n -9 > "$OUT/$NAME.tar.gz" ( cd "$OUT" && { command -v sha256sum >/dev/null && sha256sum "$NAME.tar.gz" || shasum -a 256 "$NAME.tar.gz"; } > "$NAME.tar.gz.sha256" ) echo "packaged $OUT/$NAME.tar.gz ($(cut -d' ' -f1 "$OUT/$NAME.tar.gz.sha256"))"