feat: improve release workflow with named binaries, wheel, GitHub release creation, and manual dispatch#39
Conversation
Agent-Logs-Url: https://github.com/jeremytrimble/specview/sessions/8dee06ee-8229-4bf0-97dc-df73db122800 Co-authored-by: jeremytrimble <1209303+jeremytrimble@users.noreply.github.com>
…se jobs Agent-Logs-Url: https://github.com/jeremytrimble/specview/sessions/8dee06ee-8229-4bf0-97dc-df73db122800 Co-authored-by: jeremytrimble <1209303+jeremytrimble@users.noreply.github.com>
…ite vulnerability Agent-Logs-Url: https://github.com/jeremytrimble/specview/sessions/8dee06ee-8229-4bf0-97dc-df73db122800 Co-authored-by: jeremytrimble <1209303+jeremytrimble@users.noreply.github.com>
|
@copilot: Is it going to name the pyinstaller exectuables |
Agent-Logs-Url: https://github.com/jeremytrimble/specview/sessions/f3316ccc-4c23-4d89-b929-ff6b52e3d845 Co-authored-by: jeremytrimble <1209303+jeremytrimble@users.noreply.github.com>
The binary filenames in the release were already |
|
@copilot I don't know GitHub actions that well. Is there a way to test these changes by creating a "fake" release? |
Yes — the easiest way is to push a lightweight test tag. Since the workflow triggers on git tag v0.0.1-test
git push origin v0.0.1-testThat will kick off the full workflow (build binaries on all three platforms, build the wheel, create a GitHub release named git push --delete origin v0.0.1-test
git tag --delete v0.0.1-testAnd delete the release from the GitHub UI (Releases → Edit → Delete). Alternatively, if you want to be able to trigger it manually from the GitHub Actions UI without pushing a tag at all, I can add a |
|
@copilot ok let's try adding the workflow dispatch thing. Where do I go to trigger that manually? And how do I specify details like the version when the workflow is being triggered manually (not in response to a tag)? |
…t runs Agent-Logs-Url: https://github.com/jeremytrimble/specview/sessions/d284cf87-67fa-4fe2-ae2d-6e5cb6b71276 Co-authored-by: jeremytrimble <1209303+jeremytrimble@users.noreply.github.com>
Done in 6201a21. Here's what was added and how to use it: What changed: The workflow now has a How to trigger it manually:
The full pipeline (build binaries on all 3 platforms, build the wheel, create a pre-release) will run. When done, a pre-release named |
Improves the GitHub Actions release workflow with the following changes:
actions/setup-python@v4→@v5intests.ymlspecview-{version}-{platform}(e.g.specview-0.2.0-linux,specview-0.2.0-windows.exe)build-wheeljob that produces a Python wheel alongside the platform binariesreleasejob that collects all artifacts and creates a GitHub Release automatically on tag pushspecview-{platform}(e.g.specview-linux,specview-macos,specview-windows) — not prefixed withbinary-actions/download-artifactto v4.1.3 to address an arbitrary file write vulnerability (CVE affecting >= 4.0.0, < 4.1.3)workflow_dispatchtrigger with aversioninput so the full pipeline can be triggered manually from the GitHub Actions UI without needing to push a real tag. Manual runs create a pre-release (clearly marked as a test) that can be deleted afterwards.