[AAASM-2956] 🐛 (readme): Add GitHub release badge + cut python-sdk GitHub Release - #122
Merged
Merged
Conversation
Surfaces the published GitHub Release (v0.0.1-beta.1) alongside the existing PyPI badge (0.0.1b1) so the org profile + README reflect the coordinated release rather than the v0.0.2a1 source-of-truth tag. Refs AAASM-2956.
Inverse of tag-to-pep440.sh: maps a published PEP 440 version (e.g. 0.0.1b1) back to its canonical SemVer release tag (v0.0.1-beta.1) so release-python.yml can cut the SDK's own GitHub Release at the published version. Refs AAASM-2956.
Mirrors test_tag_to_pep440.sh: covers stable/alpha/beta/rc forms, the 0.0.1b1 -> v0.0.1-beta.1 backfill case, a tag<->pep440 roundtrip, and the empty-input guard. Refs AAASM-2956.
After a successful PyPI publish, resolve the canonical SemVer release tag (repository_dispatch carries it; workflow_dispatch derives it from pypi_version via pep440-to-tag.sh) and add a create-github-release job that cuts the tag + GitHub Release at that version. Gated on the real-publish path; idempotent on re-run; re-validates the tag shape before use. Keeps the repo's release line tracking PyPI instead of drifting onto a source-of-truth tag like v0.0.2a1. Refs AAASM-2956.
Add the new converter + its fixture suite to the trigger paths and run both shellcheck + the new fixture suite alongside the existing tag-to-pep440 harness. Refs AAASM-2956.
Contributor
Author
Claude Code review — AAASM-2956 (python-sdk version badges)CI stateGreen: Scope vs. acceptance criteria
Reviewer notes: the PEP440↔tag converter is properly tested (roundtrip invariant), and the release-cut job reuses the carried tag on VerdictReady for approval and merge. CI green; scope complete; the drift was investigated (not blindly deleted) and the release-cut logic is test-backed. — Claude Code |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes the python-sdk version-badge drift (AAASM-2956). The repo's git
tags had drifted onto
v0.0.2a1(a deliberate "source-of-truth marker"companion tag for agent-assembly v0.0.1-alpha.6, AAASM-2768), while the
published PyPI version is
agent-assembly==0.0.1b1(== SemVerv0.0.1-beta.1). The README also had no GitHub-release badge.This PR:
badge (PyPI badge kept). The release line is now surfaced alongside
the published PyPI version.
release-python.yml— after a successful PyPI publish, the newcreate-github-releasejob cuts the SDK's own git tag + GitHubRelease at the published version (canonical SemVer form). The
repository_dispatchpath reuses the tag fromclient_payload; theworkflow_dispatchpath derives it frompypi_versionvia the newpep440-to-tag.shinverse converter. The job is gated on thereal-publish path, idempotent on re-run, and re-validates the tag
shape before use.
pep440-to-tag.sh+ fixture suite — single source of truth forthe PEP 440 -> SemVer-tag conversion, gated in the existing
conversion-test workflow alongside
tag-to-pep440.sh.The backfill
v0.0.1-beta.1annotated tag + GitHub Release were createdout-of-band on
mastertip so the badge resolves today:https://github.com/ai-agent-assembly/python-sdk/releases/tag/v0.0.1-beta.1
Type of Change
Breaking Changes
Related Issues
Closes AAASM-2956
Testing
test_pep440_to_tag.sh(14 fixtures,incl.
0.0.1b1->v0.0.1-beta.1and a tag<->pep440 roundtrip);run locally green.
actionlint+shellcheckclean on allchanged workflow + script files.
v0.0.1-beta.1Release exists and that the date-sorted releasebadge resolves to
v0.0.1-beta.1.Checklist