ci: dispatch App migration + retire dead docs step + installer hardening - #38
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
📝 WalkthroughWalkthroughThis PR replaces legacy repo-dispatch token usage with a minted org GitHub App installation token, removes the gh-pages docs publishing job from the core release workflow, and adds exponential-backoff polling plus release asset-pair checks and API error formatting across bash and PowerShell installer scripts; tests and CHANGELOG updated. ChangesRelease Pipeline and Installer Improvements
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested labelsenhancement 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/dispatch-pythinker-home-sync.yml:
- Around line 33-40: The GitHub App token step "Mint GitHub App token for
pythinker-home" (id: app-token; uses:
actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349)
currently yields a token with all installation permissions; narrow its scope by
adding the permission-contents: write input to the action invocation so the
minted token only has content write access. Keep the pinned SHA as-is
(fee1f7d63c2ff003460e3d139729b119787bc349) and ensure the new with:
permission-contents: write line is added alongside the existing app-id,
private-key, owner and repositories fields.
In `@scripts/install.ps1`:
- Around line 159-179: The loop currently swallows exceptions in both API calls
(the two catch {} blocks) so the final Fail message is generic; modify the code
to capture the exception object in each catch (e.g., assign $_ to a variable
like $lastApiError or $lastError inside each catch) and keep updating it
whenever an API call fails (reference $latestApi, $listApi,
Test-ReleaseHasInstaller). When triggering Fail (the "no published release..."
branch that uses $elapsed and $maxElapsed), append the captured error's
message/details to the Fail call so users see the underlying API error (e.g.,
include $lastError.Message or $lastError | Out-String).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 09c81b45-d31b-48f1-be8f-1fccd5b30976
📒 Files selected for processing (5)
.github/workflows/dispatch-pythinker-home-sync.yml.github/workflows/release-pythinker-core.ymlCHANGELOG.mdscripts/install-native.shscripts/install.ps1
💤 Files with no reviewable changes (1)
- .github/workflows/release-pythinker-core.yml
P0 (1/2): migrate dispatch-pythinker-home-sync.yml to the pythinker-release-bot App token with fail-loud-on-empty; remove the dead pythinker-core pdoc gh-pages step (404 target); install-native.sh exponential backoff; install.ps1 /releases/latest-first with paginated fallback and backoff. No agent runtime deps. Sequencing note: promote-release.yml gate changes ship in PR-code-2 with the reconcile backstop.
Summary by CodeRabbit
Chores
Bug Fixes / Reliability