Resync publish_release.py with the wincompose copy - #129
Conversation
The script is meant to be byte-identical across the repos it serves, and thpoll83/wincompose#2 moved its copy ahead by teaching detect()/parse_version() about a third repo: version from the csproj <AssemblyVersion>, tag prefix PK- (GitVersion.yml), target branch main. Nothing changes for this repo — the host branch of detect() is untouched and a dry-run still resolves the same tag: repo : thpoll83/PolyKybdHost (host) tag : v0.10.1 target: main Verified byte-identical to wincompose scripts/publish_release.py. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011PNCWo57UmMMfaNWyfJMBG
Reviewer's GuideExtend publish_release.py to support a third repository (wincompose) while keeping behavior consistent and scripts byte-identical across repos, by adding detection, version parsing, documentation, and CI messaging for wincompose releases. Flow diagram for repo detection and version parsing with wincompose supportflowchart TD
A[root directory] --> B[detect]
B -->|firmware present| C[return kind firmware<br/>config.h<br/>branch PolyKybd<br/>tag prefix PolyKybd-fw-v]
B -->|host present| D[return kind host<br/>polyhost/_version.py<br/>branch main<br/>tag prefix v]
B -->|wincompose present| E[return kind wincompose<br/>wincompose.csproj<br/>branch main<br/>tag prefix PK-]
B -->|none present| F[die can't tell which repo this is]
C --> G[show reads ref_path]
D --> G
E --> G
G --> H[parse_version]
H -->|kind firmware| I[extract FW_VERSION from config.h]
H -->|kind wincompose| J[extract AssemblyVersion from wincompose.csproj]
H -->|kind host| K[extract __major__/__minor__/__patch__]
H --> L[main constructs release]
L --> M[print html_url]
M -->|kind firmware| N[print firmware CI will attach .bin/.uf2]
M -->|kind wincompose| O[print wincompose CI will attach installer, portable zip, SHA256SUMS]
M -->|kind host| P[end without extra message]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe release publishing script now supports the ChangesWincompose release publishing
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PR Summary by QodoSync publish_release.py with wincompose support (csproj version + PK- tags)
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
Summary
scripts/publish_release.pyis meant to be byte-identical across the repos it serves. thpoll83/wincompose#2 moved that repo's copy ahead by teaching it a third repo; this brings the host copy back in line. No behaviour change here — onlydetect()gains a wincompose branch,parse_version()gains a wincompose case, and the docstring/closing hint mention it.The wincompose branch resolves version from the csproj
<AssemblyVersion>, tag prefixPK-(per itsGitVersion.yml), target branchmain.Verified byte-identical to
wincompose/scripts/publish_release.py(cmp), and the host path still resolves exactly as before:The matching PR for
qmk_firmwareis on the same branch name there.Version bump label
(none) — patch. Release tooling only; nothing in
polyhost/is touched.Testing
Not applicable — no runtime code. Exercised via
python scripts/publish_release.py --dry-runin this checkout (output above), which reads therelease-notesbranch and the default-branch version without changing anything.Generated by Claude Code
Summary by Sourcery
Extend publish_release tooling to support the wincompose repository alongside firmware and host releases.
New Features:
Enhancements:
Summary by CodeRabbit