Fix the Inno Setup step, and let a dispatch attach to an existing release - #3
Conversation
…ease
The first three Release runs all failed at the same step, before any build:
A newer version of InnoSetup (v6.7.1) is already installed.
Use --allow-downgrade or --force to attempt to install older versions.
Chocolatey installed 0/1 packages. 1 packages failed.
##[error]Process completed with exit code 1.
windows-latest already ships Inno Setup, so pinning --version=6.2.2 asked
choco to downgrade; it refused and failed the step. Install only when it is
genuinely absent, and assert the "%ProgramFiles(x86)%\Inno Setup 6\ISCC.exe"
path that installer.csproj hardcodes — so a future runner-image change fails
here with a clear message rather than inside msbuild.
The PK-0.9.16 release is already published (its notes were applied by
publish_release.py) but carries no assets, and re-running its `release` run
would replay the workflow file from that tag's commit — bug included. So
workflow_dispatch takes an optional `tag` input: empty still means "build the
assets as artifacts, release nothing" (the smoke test), while setting it
attaches the built assets to that existing release.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011PNCWo57UmMMfaNWyfJMBG
|
Warning Review limit reached
Next review available in: 47 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Reviewer's GuideAdjusts the Windows release workflow to avoid failing when Inno Setup is preinstalled on the runner, and adds an optional workflow_dispatch input so a manual run can build assets and attach them to an existing release tag. Sequence diagram for workflow_dispatch attaching assets to an existing release tagsequenceDiagram
actor Maintainer
participant GitHubActions as GitHub_Actions_workflow
participant ReleaseJob as release_job
participant GitHubAPI as GitHub_API
Maintainer->>GitHubActions: workflow_dispatch(tag = PK-0.9.16)
GitHubActions->>ReleaseJob: start with inputs.tag = PK-0.9.16
ReleaseJob->>ReleaseJob: set concurrency group = release-(github.event.release.tag_name || inputs.tag || github.ref_name)
ReleaseJob->>GitHubAPI: Fetch crafted release notes (TAG = inputs.tag)
ReleaseJob->>GitHubAPI: Create or update GitHub Release (TAG = inputs.tag)
GitHubAPI-->>ReleaseJob: Release exists
ReleaseJob->>GitHubAPI: Upload built assets with clobber
GitHubAPI-->>Maintainer: Existing release PK-0.9.16 now has assets
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Summary
All three Release runs failed at the same step, before anything was built — my bug in #2:
windows-latestalready ships Inno Setup, so pinning--version=6.2.2asked choco to downgrade; it refused and failed the step. I pinned it defensively without checking the runner image — the opposite of defensive.Fix: install only when Inno Setup is genuinely absent, then assert the
"%ProgramFiles(x86)%\Inno Setup 6\ISCC.exe"path thatinstaller.csprojhardcodes. A future runner-image change now fails there, with a message naming the cause, instead of surfacing as a confusing msbuild error two steps later.Recovering PK-0.9.16
The release is already published and has its crafted notes (
publish_release.pysets title/body over the API, so that part succeeded independently of CI) — it just has no assets.Re-running the failed
releaserun won't help: it would replay the workflow file from that tag's commit, bug included. Soworkflow_dispatchnow takes an optionaltaginput:PK-0.9.16→ build and attach the assets to that existing releaseSo once this merges: Actions → Release → Run workflow, with
tag=PK-0.9.16. That both proves the packaging path and finishes the release in one run. If you'd rather verify first, dispatch once withtagempty and check the artifacts, then dispatch again with the tag.Testing
Still can't run a Windows build here, so the Inno Setup step is verified only against the failure log above. The steps after it —
installer.csproj→iscc, thesrc/WinCompose-Setup-<ver>.exepath assertion, the portable packaging — have never executed, since the job died before reaching them. Expect the possibility of a second fix round; the dispatch path makes that cheap to iterate on.Generated by Claude Code
Summary by Sourcery
Fix Windows release workflow to avoid failing when Inno Setup is already installed and allow manually dispatched runs to attach built assets to an existing release tag.
Bug Fixes:
Enhancements: