-
Notifications
You must be signed in to change notification settings - Fork 1
Integrate showboat demos into agent workflows #21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -55,3 +55,27 @@ jobs: | |||||
| with: | ||||||
| name: selftest-results-py${{ matrix.python-version }} | ||||||
| path: selftest-results.xml | ||||||
|
|
||||||
| verify-demo: | ||||||
| name: Verify showboat demo | ||||||
| if: github.event_name == 'pull_request' | ||||||
| runs-on: ubuntu-latest | ||||||
| steps: | ||||||
| - uses: actions/checkout@v4 | ||||||
| - uses: astral-sh/setup-uv@v5 | ||||||
| with: | ||||||
| enable-cache: true | ||||||
| - name: Install dependencies | ||||||
| run: uv sync | ||||||
|
||||||
| run: uv sync | |
| run: uv sync --all-extras --python 3.12 |
Copilot
AI
Mar 2, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The suggested demo flow in AGENTS.md includes running just check, but this job doesn’t install just. Since showboat verify re-runs exec blocks, any demo that follows the documented guidance will fail in CI on the first just invocation. Either add an installation step for just (e.g., via apt) before verification, or update the recommended demo commands to avoid just in CI-verifiable demos.
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -24,3 +24,5 @@ jobs: | |||||||||||||||||||
| uses: github/gh-aw/actions/setup-cli@v0.48.1 | ||||||||||||||||||||
| with: | ||||||||||||||||||||
| version: v0.48.1 | ||||||||||||||||||||
| - name: Install showboat | ||||||||||||||||||||
| run: pip install showboat | ||||||||||||||||||||
|
Comment on lines
+27
to
+28
|
||||||||||||||||||||
| - name: Install showboat | |
| run: pip install showboat | |
| - name: Install uv | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| - name: Install showboat via uv | |
| run: | | |
| export PATH="$HOME/.local/bin:$PATH" | |
| uv tool install showboat==0.5.0 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,7 @@ | ||
| # VIP-specific | ||
| vip.toml | ||
| report/results.json | ||
| demo.md | ||
| report/_output/ | ||
| report/_freeze/ | ||
| report/.quarto/ | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -191,6 +191,51 @@ silently swallowed inside conditionals. | |
| PR preview to gh-pages via `rossjrw/pr-preview-action@v1`. Uses uv | ||
| and Quarto caches. | ||
|
|
||
| ## Showboat demos | ||
|
|
||
| After completing work on a branch, create a showboat demo that proves | ||
| your changes work. The demo file is committed to the branch and its | ||
| contents are pasted into the PR body under a `## Demo` heading. | ||
|
|
||
| ### Getting started | ||
|
|
||
| Run `uvx showboat --help` at the start of a session to learn the tool. | ||
|
|
||
| ### Creating a demo | ||
|
|
||
| ```bash | ||
| uvx showboat init demo.md "Feature: <title>" | ||
| uvx showboat note demo.md "Explanation of what was done..." | ||
| uvx showboat exec demo.md bash "uv run pytest selftests/ -v" | ||
| uvx showboat exec demo.md bash "just check" | ||
| ``` | ||
|
|
||
| Use `uvx showboat image demo.md <path>` if screenshots are relevant. | ||
|
|
||
| ### What to demonstrate | ||
|
|
||
| - **New tests:** run the new tests and show them passing | ||
| - **New features:** exercise the feature with concrete examples | ||
| - **Bug fixes:** show the fix in action (before/after if feasible) | ||
| - **Refactors:** show that existing tests still pass | ||
| - **Always** include `just check` (lint/format) output | ||
|
|
||
| ### Before committing | ||
|
|
||
| ```bash | ||
| uvx showboat verify demo.md | ||
| ``` | ||
|
|
||
| Verification re-runs all `exec` blocks and confirms output matches. | ||
| If it fails, fix the demo before committing. | ||
|
|
||
| ### PR workflow | ||
|
|
||
| 1. Commit `demo.md` to the branch root | ||
| 2. Paste the contents of `demo.md` into the PR body under `## Demo` | ||
|
|
||
| CI will run `showboat verify demo.md` on PRs that include the file. | ||
|
Comment on lines
+196
to
+237
|
||
|
|
||
| ## Common mistakes to avoid | ||
|
|
||
| - Forgetting to include `examples/` in ruff check paths. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| AGENTS.md |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since
showboat verifyexecutes arbitrary commands fromdemo.md, this job can hang or run unexpectedly long (intentionally or accidentally). Consider setting atimeout-minuteson the job or the verify step to keep CI usage bounded, especially because this runs on all pull requests that include a demo.