Skip to content

install: verify release-artifact sha256 before installing - #22

Open
danieljohnmorris wants to merge 4 commits into
mainfrom
fix/install-sh-signing
Open

install: verify release-artifact sha256 before installing#22
danieljohnmorris wants to merge 4 commits into
mainfrom
fix/install-sh-signing

Conversation

@danieljohnmorris

Copy link
Copy Markdown
Contributor

Summary

Companion to ilo-lang/ilo#548. The scripts served from ilo-lang.ai/install.sh and /install.ps1 now download checksums-sha256.txt from the same GitHub release, compare it against the SHA-256 of the binary they just fetched, and refuse to install on mismatch.

Canonical source lives in the ilo repo under scripts/install/. These public/ copies are exact mirrors so the curl-pipe one-liner on the homepage stays unchanged.

Test plan

  • Mirrors are bit-identical to scripts/install/install.sh / install.ps1 in the ilo repo (diff is empty)
  • Regression test in the ilo repo covers happy / tamper / missing-asset paths
  • After both PRs merge: re-deploy the site and curl-pipe install on a clean Linux/macOS box to confirm end-to-end

Pulls checksums-sha256.txt from the same GitHub release as the binary,
greps out the expected hash, and refuses to install on mismatch or
missing entry. Canonical source for the scripts now lives in the ilo
repo at scripts/install/ — these are exact mirrors. See ilo-lang/ilo#548.
Mirrors the ergonomic improvement from ilo-lang/ilo#548. Users on
locked-down systems can now point the installer at a writable
directory of their choice; the CI regression test in the ilo repo
uses the same hook.
Mirrors the SPEC + ai.txt additions from ilo-lang PR #557. Five new
HTTP-verb builtins (PUT, PATCH, DELETE, HEAD, OPTIONS) with the same
shape as pst/get, returning R t t and accepting optional headers maps.
Verb cluster intentionally limited to the seven safe methods; TRACE
and CONNECT stay out of scope.
Aligns the builtins/crypto reference with the actual builtin set landing
on main: hex is now a single text→text builtin (lowercase hex encode of
UTF-8 bytes), and standard base64 b64/b64-dec gets its own section
alongside the URL-safe b64u/b64u-dec.

Pre-shipped doc for the v1 PR (which exposed hex-enc/hex-dec as a
bytes-list pair) is no longer accurate. The v2 scope is tighter and the
hex builtin matches the rest of the cluster's text-in / text-out shape.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant