Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions quest/m0/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
23 changes: 23 additions & 0 deletions quest/m0/install-check.md
Original file line number Diff line number Diff line change
@@ -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@<tag>` 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`.
6 changes: 5 additions & 1 deletion quest/m0/release-proof.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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
Loading