diff --git a/quest/m0/README.md b/quest/m0/README.md index eb0bb61..63cd140 100644 --- a/quest/m0/README.md +++ b/quest/m0/README.md @@ -26,5 +26,6 @@ ownership-manifest design: - [Init and uninstall](/quest/m0/init.md) - `quest init` sets a repository up with stubs and a root reference; `quest uninstall` reverses it - [Setup guide](/quest/m0/setup.md) - one line pasted into an agent installs, pins, and initializes Quest, or removes it +- [Install check](/quest/m0/install-check.md) - CI installs each published release through mise and the shell installer on all four targets - [Release proof](/quest/m0/release-proof.md) - a fresh repository completes the whole lifecycle in CI, then v0.1.0 is tagged - [Launch material](/quest/m0/launch.md) - README, quickstart, demo, comparison, and launch-post drafts diff --git a/quest/m0/install-check.md b/quest/m0/install-check.md new file mode 100644 index 0000000..7640f0e --- /dev/null +++ b/quest/m0/install-check.md @@ -0,0 +1,23 @@ +# [S] Check release installs in CI + +## Goal + +After every published release, CI installs that release through +`mise use github:kixelated/quest@` and the release's +`quest-installer.sh` on macOS (arm64, x86_64) and Linux (x86_64, arm64), and +each installed `quest --version` matches the tag. A failure turns the run red; +the fix ships as the next patch release, not as an rc. + +## Plan + +- Use a reusable workflow (`.github/workflows/install-check.yml`, with + `workflow_call` and `workflow_dispatch` taking a tag) that dist runs through + `post-announce-jobs` in `dist-workspace.toml`, then regenerate `release.yml` + with `dist generate`. A separate `release: published` trigger would never + fire, because dist creates the release with `GITHUB_TOKEN`. +- Use native runners for all four targets, since each archive is built + separately. +- Pin actions to commits like the other workflows. +- The first real run is the v0.1.0 tag in the release-proof quest. Before + that, validate the workflow syntax and `dist generate --check` only. +- Mention the check in the release steps in `CONTRIBUTING.md`. diff --git a/quest/m0/release-proof.md b/quest/m0/release-proof.md index d99d2ce..3c25fe3 100644 --- a/quest/m0/release-proof.md +++ b/quest/m0/release-proof.md @@ -4,7 +4,8 @@ CI takes a fresh repository through install, `quest init`, a planned quest, `quest check`, `quest ready`, and `quest uninstall`, and verifies nothing the -user owned was lost. Then v0.1.0 is tagged and published. +user owned was lost. Then v0.1.0 is tagged and published, and its release +installs through mise and the shell installer on macOS and Linux. ## Plan @@ -13,8 +14,11 @@ user owned was lost. Then v0.1.0 is tagged and published. with the transcript kept for the launch demo. - Include a repository that already has an `AGENTS.md` or `CLAUDE.md` and a same-named skill, to prove init refuses rather than overwrites. +- There's no rc tag. The install check's run on v0.1.0 gates this quest, and a + broken install ships as a fixed v0.1.x. ## Required +- [Install check](/quest/m0/install-check.md) - proves the v0.1.0 release installs - [Init and uninstall](/quest/m0/init.md) - the lifecycle under test - [Setup guide](/quest/m0/setup.md) - the documented entry point