Skip to content

release: automate GitHub release creation after publish - #146

Merged
EONRaider merged 1 commit into
masterfrom
claude/automate-github-release
Sep 4, 2026
Merged

release: automate GitHub release creation after publish#146
EONRaider merged 1 commit into
masterfrom
claude/automate-github-release

Conversation

@EONRaider

Copy link
Copy Markdown
Owner

Summary

  • Adds a github-release job to release.yml, gated on needs: publish, so a tag push now produces the PyPI upload and the GitHub release in one automated pipeline.
  • The job extracts the tag's own ## [X.Y.Z] section from CHANGELOG.md via awk and passes it straight to gh release create --notes-file, so release notes have one source of truth instead of being retyped by hand.
  • Title format matches prior releases: netprotocols X.Y.Z. Marked --latest, consistent with how v1.0.0 through v2.2.0 were released manually.

Why

Every GitHub release through v2.2.0 (including the one just published) had to be created by hand after the tag/CI/publish pipeline finished — release.yml never had a step for it. This closes that gap.

Test plan

  • uv run pytest tests/test_workflows.py — all 4 wiring assertions pass (publish still gated on ci, no reference wiring broken)
  • Verified the awk extraction in the new step produces output byte-identical to the CHANGELOG section manually used for the actual v2.2.0 release
  • python3 -c "import yaml; yaml.safe_load(...)" confirms the edited YAML parses
  • End-to-end verification only happens on the next real tag push (this can't be dry-run without publishing)

🤖 Generated with Claude Code

v2.2.0's GitHub release had to be created by hand after the fact,
because release.yml only ran CI and uv publish — the same gap existed
for every prior tag. Add a github-release job that runs after publish
succeeds, extracts the tag's own section from CHANGELOG.md, and calls
gh release create with it, so a tag push produces the PyPI upload and
the GitHub release together.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@EONRaider
EONRaider merged commit f67b54f into master Sep 4, 2026
8 checks passed
@EONRaider
EONRaider deleted the claude/automate-github-release branch September 4, 2026 20:58
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.

1 participant