fix(ci): make the binary release actually build and attach#6
Merged
Conversation
The "Build and attach desktop installers" step in release.yml calls `gh workflow run release-binaries.yml` via the GitHub API, which requires `actions: write`. The job only had contents/issues/pull-requests write, so the dispatch failed with HTTP 403 "Resource not accessible by integration" on the v1.4.0 release — the release + wheels published fine, but the desktop installers were never kicked off. Add the missing permission so every future release automatically builds and attaches the Windows .exe / macOS .dmg. (v1.4.0's installers were attached via a manual one-off dispatch.) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ded it
release-binaries.yml runs `pyinstaller packaging/gleplot.spec`, but that file
was never in the repo: the generic PyInstaller `*.spec` rule in .gitignore
(meant for auto-generated specs) silently swallowed our hand-authored one. So
both desktop build jobs failed at the very first step with:
ERROR: Spec file "packaging/gleplot.spec" not found!
This was never caught because the binary workflow had never actually run
before v1.4.0. Add a `!packaging/gleplot.spec` negation and commit the file.
Same class of bug as the earlier *.png/asset exclusion fixed in PR #4.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two bugs kept the desktop-installer build from ever succeeding. Both surfaced the first time
release-binaries.ymlran (on v1.4.0).Bug 1 — dispatch step lacked permission (403)
The Build and attach desktop installers step in
release.ymldispatchesrelease-binaries.ymlviagh workflow run, which needsactions: write. The job only hadcontents/issues/pull-requestswrite, so it failed:Fix: add
actions: writetorelease.yml.Bug 2 — packaging/gleplot.spec was gitignored, never committed
Both build jobs run
pyinstaller packaging/gleplot.specand died immediately:The generic PyInstaller
*.specrule in.gitignore(meant for auto-generated specs) silently excluded our hand-authored one, so it was never in the repo. Never caught because the binary workflow had never actually run. Fix:!packaging/gleplot.specnegation + commit the file. (Same class of bug as the*.pngasset exclusion fixed in PR #4.)Verification
preview-windows,preview-macos-arm) dispatched against this branch to confirm PyInstaller now finds the spec and the frozen app passes--smoke-test.release-binaries.ymland attaches the Windows.exe/ macOS.dmg, proving the end-to-end auto-dispatch chain.v1.4.0 shipped with wheels only; its installers can be backfilled with a one-off
gh workflow run release-binaries.yml -f tag=v1.4.0once this is on main.🤖 Generated with Claude Code