open-standards/wai/quickstart/install.sh
Transaction Science 0e4487a921
Some checks failed
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 8s
wai-quantum energy-landscape jobs / does this change touch it (push) Successful in 18s
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (push) Successful in 45s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 1m34s
joule-code conformance gate / Build + round-trip C1-C4 vectors (push) Successful in 3m27s
joule-code conformance gate / joule-moq-relay, every target (push) Successful in 3m57s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 4m44s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 5m26s
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Successful in 5m29s
joule-code conformance gate / joule-moq-ingest, every target (push) Successful in 6m26s
wai-quantum energy-landscape jobs / the same bits · macos (push) Successful in 6m51s
wai-audit collector and player integration / does this change touch it (push) Has been cancelled
wai-audit collector and player integration / collector · linux (push) Has been cancelled
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Has been cancelled
WAI operation catalogue / does this change touch it (push) Has been cancelled
WAI operation catalogue / the catalogue and every door · linux (push) Has been cancelled
wai-quantum docs, course and locales / does this change touch it (push) Has been cancelled
wai-quantum docs, course and locales / every command and snippet in the docs · linux (push) Has been cancelled
wai-quantum docs, course and locales / the course and the command line's languages · linux (push) Has been cancelled
wai-quantum docs, course and locales / the Studio's words in every locale · linux (push) Has been cancelled
wai-quantum for JavaScript / does this change touch it (push) Has been cancelled
wai-quantum for JavaScript / javascript · linux (push) Has been cancelled
wai-quantum studio and desktop / does this change touch it (push) Has been cancelled
wai-quantum studio and desktop / studio · browser (push) Has been cancelled
wai-quantum studio and desktop / desktop app · macos (push) Has been cancelled
wai-quantum studio and desktop / desktop app · linux (push) Has been cancelled
wai-quantum studio and desktop / desktop app · windows (push) Has been cancelled
wai-sink-android native sink library / does this change touch it (push) Has been cancelled
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Has been cancelled
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Has been cancelled
wai-sink-swift native sink package / does this change touch it (push) Has been cancelled
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Has been cancelled
WAI Studio / does this change touch it (push) Has been cancelled
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Has been cancelled
WAI Studio / Studio in Chromium and Firefox · macos (push) Has been cancelled
WAI Studio / Studio in WebKit · linux (push) Has been cancelled
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Successful in 9m33s
wai release binaries build on Windows / the seven release binaries · windows (push) Successful in 12m21s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Successful in 12m37s
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Successful in 14m48s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Has been cancelled
joule-moq-room room service / joule-moq-room · does this change touch it (push) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Has been cancelled
wai-app and Create / wai-app · does this change touch it (push) Has been cancelled
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Has been cancelled
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Has been cancelled
wai-fleet service / does this change touch it (push) Has been cancelled
wai-fleet service / service · linux (push) Has been cancelled
wai-fleet service / service · macos (push) Has been cancelled
wai-key-proxy / does this change touch it (push) Has been cancelled
wai-key-proxy / proxy · linux (push) Has been cancelled
wai-ledger service / does this change touch it (push) Has been cancelled
wai-ledger service / service · linux (push) Has been cancelled
wai-ledger service / service · macos (push) Has been cancelled
wai-int-module WAISM module of record / does this change touch it (push) Successful in 11s
wai-int-module WAISM module of record / the module of record in Chromium (push) Successful in 10s
wai-int-module WAISM module of record / linux · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Successful in 9m8s
wai-int-module WAISM module of record / linux-arm64 · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Successful in 6m56s
wai command line release / the tag is the crate's version (push) Successful in 16s
wai command line release / the room client and WAI Studio (push) Successful in 3m21s
wai command line release / macOS · aarch64-apple-darwin (push) Successful in 9m15s
wai command line release / Linux · x86_64-unknown-linux-musl (push) Successful in 12m56s
wai command line release / Linux · aarch64-unknown-linux-musl (push) Successful in 13m24s
wai command line release / macOS · x86_64-apple-darwin (push) Successful in 21m33s
wai command line release / Windows · x86_64-pc-windows-msvc (push) Successful in 28m22s
wai command line release / Homebrew formula and Scoop manifest (push) Successful in 9s
wai 0.6.0
The crate's version for the release wai-v0.6.0, version only: wai/wai-rs/Cargo.toml and the
`wai` entry of the eighteen lockfiles that hold it; the installer's default
(wai/quickstart/install.sh), which the release's first job requires to be the tag's version;
the catalogue export, whose `toolchain` is the crate's version, and WAI Studio's actions
generated from it (node scripts/actions.mjs). The changelog's entries under wai/changes/ are
assembled into it (scripts/changelog-assemble.py --write) and become v0.6.0, under an
Unreleased heading for what comes next. Fixtures and recorded measurements keep the version
they name.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-09 16:17:06 -05:00

43 lines
2 KiB
Shell
Executable file

#!/bin/sh
# Install the WAI command line, and what `wai dev` runs, from the forge's releases:
#
# curl -fsSL https://wai.transaction.science/install.sh | sh
#
# It picks the archive for this system (macOS or Linux, arm64 or x86_64), checks it against the
# SHA-256 the release states, and unpacks it into $WAI_HOME (default ~/.wai): bin/ and
# share/wai/ (the room client and WAI Studio) side by side. Then it says which line puts ~/.wai/bin on your PATH. Nothing
# else is changed. WAI_VERSION picks a release (default: the one below).
set -eu
VERSION="${WAI_VERSION:-0.6.0}"
DEST="${WAI_HOME:-$HOME/.wai}"
BASE="https://git.transaction.science/Transaction-Science/open-standards/releases/download/wai-v$VERSION"
case "$(uname -s)" in
Darwin) os=apple-darwin ;;
Linux) os=unknown-linux-musl ;;
*) echo "wai: no archive for $(uname -s); build from source: https://wai.transaction.science/docs/quickstart/" >&2; exit 1 ;;
esac
case "$(uname -m)" in
arm64 | aarch64) cpu=aarch64 ;;
x86_64 | amd64) cpu=x86_64 ;;
*) echo "wai: no archive for $(uname -m)" >&2; exit 1 ;;
esac
NAME="wai-$VERSION-$cpu-$os"
TMP="$(mktemp -d)"
trap 'rm -rf "$TMP"' EXIT
echo "wai: fetching $NAME"
curl -fsSL -o "$TMP/$NAME.tar.gz" "$BASE/$NAME.tar.gz"
curl -fsSL -o "$TMP/$NAME.tar.gz.sha256" "$BASE/$NAME.tar.gz.sha256"
want="$(cut -d' ' -f1 "$TMP/$NAME.tar.gz.sha256")"
if command -v sha256sum > /dev/null 2>&1; then got="$(sha256sum "$TMP/$NAME.tar.gz" | cut -d' ' -f1)"; else got="$(shasum -a 256 "$TMP/$NAME.tar.gz" | cut -d' ' -f1)"; fi
[ "$got" = "$want" ] || { echo "wai: the archive's SHA-256 is $got, not the release's $want; nothing installed" >&2; exit 1; }
tar -xzf "$TMP/$NAME.tar.gz" -C "$TMP"
mkdir -p "$DEST"
rm -rf "$DEST/bin" "$DEST/share/wai"
mkdir -p "$DEST/share"
mv "$TMP/$NAME/bin" "$DEST/bin"
mv "$TMP/$NAME/share/wai" "$DEST/share/wai"
cp "$TMP/$NAME/README.md" "$TMP/$NAME/LICENSE" "$DEST/"
"$DEST/bin/wai" create --list > /dev/null
echo "wai: installed in $DEST. Put it on your PATH:"
echo " export PATH=\"$DEST/bin:\$PATH\""
echo "then: wai hello"