Skip to content

feat: reproducible scripted recordings in CI, with termshow check --json and a workflow recipe - #459

Merged
rich-iannone merged 8 commits into
mainfrom
feat-termshow-ci
Oct 28, 2026
Merged

rich-iannone merged 8 commits into
mainfrom
feat-termshow-ci

Conversation

@rich-iannone

Copy link
Copy Markdown
Member

This PR makes the shell that runs a script's steps start with a clean environment: it passes through only a few variables, such as PATH, HOME and LANG, so editor and CI settings like VS Code's PYTHONSTARTUP or NO_COLOR no longer leak into recordings. This changes behaviour for existing scripts, and the new record.inherit_env: true setting restores it.

great-docs termshow check --json prints the results as one JSON object, with a summary and each script's status, diffs and errors, and keeps the same exit status. The user guide gains a "Keeping demos up to date in CI" section with a GitHub Actions workflow that checks demos on pull requests and opens a pull request with re-recorded demos on a schedule.

@github-actions

Copy link
Copy Markdown

📚 Preview this PR's docs locally

Fetch the just-built site and open it in your browser:

# this exact build
great-docs preview --run 40619421683

# or always the latest build for this PR
great-docs preview --pr 459
Auth & tips
  • Requires great-docs: pip install great-docs (or run via pipx/uvx).
  • Auth: run gh auth login then add --use-gh, or set GITHUB_TOKEN (needs Actions: read).
  • Jump to a page: add --path reference/index.html.
  • Latest vs exact: --pr <n> grabs the newest build; --run <id> pins this one.
  • Re-download: --refresh ignores the local cache.

@rich-iannone
rich-iannone merged commit 3dfc865 into main Oct 28, 2026
9 checks passed
@rich-iannone
rich-iannone deleted the feat-termshow-ci branch October 28, 2026 02:38
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