Skip to content

fix: stop GitHub release pipeline marking releases pre-release with empty notes#967

Merged
timenick merged 1 commit into
mainfrom
zhiwang/fix-github-release-pipeline
Jun 25, 2026
Merged

fix: stop GitHub release pipeline marking releases pre-release with empty notes#967
timenick merged 1 commit into
mainfrom
zhiwang/fix-github-release-pipeline

Conversation

@timenick

Copy link
Copy Markdown
Collaborator

The modelkit-release-github.yml GitHubRelease@1 task hardcoded isPreRelease: true and addChangeLog: false with no release-notes source, so every published release (e.g. v0.2.0) landed flagged Pre-release, not Latest, with an empty body. The driver had to fix each release by hand with gh release edit --prerelease=false --latest --notes-file ....

This makes the pipeline produce the correct release directly:

  • Version-aware pre-release flag. The version step sets IsPreRelease from the wheel version: a plain X.Y.Z is a real release (false -> marked Latest); any PEP 440 suffix (0.3.0rc1, 0.3.0.dev1, ...) is a pre-release (true). The task reads isPreRelease: $(IsPreRelease).
  • Release notes from CHANGELOG. The Prepare job extracts the matching ## WinML CLI v<version> section from CHANGELOG.md into RELEASE_NOTES.md, which ships in the GitHubReleaseAssets artifact (the release job has no repo checkout). The task points releaseNotesFilePath at it. A missing section degrades to an empty body with a warning (no worse than today).

addChangeLog stays false so the body is exactly the curated CHANGELOG section, not an auto-generated commit list. Notes are written BOM-free.

First observed on the v0.2.0 release.

…mpty notes

The GitHubRelease@1 task hardcoded isPreRelease: true and
addChangeLog: false with no release-notes source, so every published
release landed flagged pre-release (not Latest) with an empty body.

- Set IsPreRelease from the wheel version (plain X.Y.Z -> real release;
  any PEP 440 suffix -> pre-release) and read it in the task.
- Extract the matching '## WinML CLI v<version>' CHANGELOG section into
  RELEASE_NOTES.md in the Prepare job (ships in the artifact, since the
  release job has no checkout) and point releaseNotesFilePath at it.

Notes are written BOM-free; missing section degrades to an empty body.
@timenick timenick requested a review from a team as a code owner June 25, 2026 05:51
@timenick timenick merged commit 4a3bd0a into main Jun 25, 2026
9 checks passed
@timenick timenick deleted the zhiwang/fix-github-release-pipeline branch June 25, 2026 05:57
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