Skip to content

feat: add --release flag to playground for pre-built binaries#19

Merged
miguelgila merged 3 commits intomainfrom
improve-playground
Feb 20, 2026
Merged

feat: add --release flag to playground for pre-built binaries#19
miguelgila merged 3 commits intomainfrom
improve-playground

Conversation

@miguelgila
Copy link
Owner

Summary

  • Add --release [version] flag to setup-playground.sh that downloads pre-built binaries from GitHub Releases instead of building from source, making it the fastest way to try Reaper
  • When no version is specified, auto-detects the latest release via gh CLI (with curl fallback for unauthenticated environments)
  • Update README to clarify that no Rust toolchain is needed for the playground, and present both paths clearly (--release vs build-from-source)
  • Extract resolve_latest_release() into scripts/lib/release-utils.sh for testability
  • Add 9 integration tests covering gh resolution, curl fallback, unauthenticated API access, argument parsing, and error handling
  • Add playground-release CI job to the Tests workflow (runs in parallel, ~5s, no heavy dependencies)

Test plan

  • ./scripts/test-playground-release.sh passes locally (9/9 tests)
  • CI playground-release job passes on this PR
  • Manually verify ./scripts/setup-playground.sh --release resolves latest version
  • Manually verify ./scripts/setup-playground.sh --release v0.2.4 uses explicit version

🤖 Generated with Claude Code

miguelgila and others added 3 commits February 19, 2026 21:24
The playground script can now download pre-built binaries from GitHub
Releases instead of building from source, making it faster to try
Reaper without any build toolchain. Defaults to latest release when
no version is specified.

Also clarifies in the README that no Rust toolchain is needed for the
playground (builds happen inside Docker or are skipped entirely with
--release).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract resolve_latest_release() into scripts/lib/release-utils.sh so
it can be sourced independently. Add test-playground-release.sh with 9
tests covering:

- Latest release resolution via gh CLI (authenticated)
- Latest release resolution via curl (unauthenticated GitHub API)
- Consistency check between both methods
- curl works without GITHUB_TOKEN credentials
- Argument parsing: --release (bare), --release v0.2.4, --release --flag
- --help output includes --release documentation
- Graceful failure for nonexistent repos

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a lightweight job to the Tests workflow that runs the --release
resolution tests in parallel with existing jobs. No Rust, Docker, or
Kind needed — just checkout and run.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@codecov
Copy link

codecov bot commented Feb 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.20%. Comparing base (c8cc0ce) to head (459cc01).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #19   +/-   ##
=======================================
  Coverage   86.20%   86.20%           
=======================================
  Files           4        4           
  Lines         174      174           
=======================================
  Hits          150      150           
  Misses         24       24           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@miguelgila miguelgila merged commit 7a0af59 into main Feb 20, 2026
10 checks passed
@miguelgila miguelgila deleted the improve-playground branch February 28, 2026 13:12
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