Skip to content

ci: GitHub Release pipeline on version tags - #9

Merged
DavidHruby1 merged 3 commits into
DavidHruby1:mainfrom
KristianP26:ci/release-pipeline
Jun 2, 2026
Merged

DavidHruby1 merged 3 commits into
DavidHruby1:mainfrom
KristianP26:ci/release-pipeline

Conversation

@KristianP26

@KristianP26 KristianP26 commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

What

Adds an automated GitHub Release pipeline. Pushing a v* tag builds the Windows executable and publishes a release with the artifact attached — no manual build/upload steps.

How

New workflow .github/workflows/release.yml (triggered on v* tags):

  1. Test gate — runs the same unittest suite as ci.yml (QT_QPA_PLATFORM=offscreen); a broken build never ships.
  2. BuildPyInstaller --noconfirm --clean screamer.spec, mirroring build_windows.ps1.
  3. Package — zips the onedir output dist\Screamer into Screamer-<tag>-windows-x64.zip + a .sha256 checksum.
  4. Publishgh release create with auto-generated notes. Built-in gh CLI, no third-party action (matches the project's minimal-dependency ethos). Hyphenated tags (v1.0.0-rc1) publish as pre-releases.

permissions: contents: write is scoped to this workflow for release creation.

Docs

  • README gains a Releases section describing the tag-to-release flow.
  • docs/RELEASE_PIPELINE_PLAN.md checks in the implementation plan.

Notes

End-to-end can only be verified by pushing a real tag; the build/test steps mirror the already-green ci.yml and build_windows.ps1, and the YAML was validated locally.

Push a v* tag to build the Windows onedir bundle with PyInstaller and
publish a GitHub Release. Runs the test suite as a gate first, zips
dist\Screamer with a SHA256 checksum, and uses the gh CLI to create the
release with auto-generated notes. Hyphenated tags publish as pre-releases.
Add a Releases section to the README explaining the tag-to-release flow,
and check in the implementation plan for the release pipeline.
@KristianP26
KristianP26 force-pushed the ci/release-pipeline branch from 510958a to f7c352b Compare June 2, 2026 11:07

@DavidHruby1 DavidHruby1 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Approved for merge.

@DavidHruby1
DavidHruby1 merged commit afc3f36 into DavidHruby1:main Jun 2, 2026
3 checks passed
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