Skip to content

ci: ship the raw exe as a portable download, drop the CI input name - #452

Merged
FMXExpress merged 1 commit into
mainfrom
claude/release-portable-exe
Jul 17, 2026
Merged

ci: ship the raw exe as a portable download, drop the CI input name#452
FMXExpress merged 1 commit into
mainfrom
claude/release-portable-exe

Conversation

@FMXExpress

Copy link
Copy Markdown
Owner

Why

Right now a finished release lists the two raw PasClaw-x64.exe / PasClaw-x86.exe (the binaries you attach for CI to package) next to the installers — redundant and confusing. But since the Delphi build is self-contained, each raw exe is a genuinely useful no-installer / portable PasClaw.

What

After the installers are built, the windows-installers job now:

  • Re-publishes each exe as PasClaw-<version>-x64-portable.exe (and -x86-).
  • Deletes the raw PasClaw-x64.exe / PasClaw-x86.exe upload name.

So a finished release lists intentional downloads only:

PasClaw-<ver>-x64-setup.exe
PasClaw-<ver>-x86-setup.exe
PasClaw-<ver>-x64-portable.exe
PasClaw-<ver>-x86-portable.exe
pasclaw-<ver>-linux-x86_64.tar.gz
pasclaw-<ver>-linux-aarch64.tar.gz

Re-run safety

The download step now prefers the raw upload name but falls back to the portable asset if it's gone, so re-running the packaging workflow still works after the rename (no need to re-attach the exe).

Applying to v0.1.3

The current v0.1.3 release still shows the raw exes. Once this merges, re-run Release artifacts → Run workflow → tag v0.1.3 and it'll rename them to -portable and clean up retroactively. I'll also add a "Portable (no installer)" row to the release notes.

🤖 Generated with Claude Code


Generated by Claude Code

…nput

After building the installers, re-publish the Delphi exe as
PasClaw-<ver>-<arch>-portable.exe and delete the raw PasClaw-<arch>.exe upload
name, so the finished release lists intentional downloads (setup + portable)
instead of the CI input binary.

The download step now falls back to the portable asset when the raw name is
absent, so re-running the packaging workflow still works after the rename.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LGQKz579j1ZnDRwmr6h1V6
@FMXExpress
FMXExpress merged commit d0e24e6 into main Jul 17, 2026
2 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f148026dc3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy-Item $local $portable -Force
gh release upload $tag $portable --clobber
# Drop the raw input name (ignore if it wasn't attached, e.g. a re-run).
gh release delete-asset $tag "PasClaw-$arch.exe" --yes 2>$null

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Ignore the expected delete-asset miss on reruns

When the workflow is re-run after this step has already renamed the assets, the raw PasClaw-$arch.exe asset no longer exists, and gh release delete-asset treats that as an error; redirecting stderr does not reset $LASTEXITCODE. In this checked shell: pwsh workflow, GitHub Actions appends exit $LASTEXITCODE, so a successful portable --clobber upload followed by this expected miss still makes the step fail, breaking the advertised re-run fallback path. Query before deleting or explicitly clear/ignore the exit code for the expected not-found case.

Useful? React with 👍 / 👎.

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.

2 participants