feat(release-helper): support harness-sdk monorepo structure#70
Open
agent-of-mkmeral wants to merge 1 commit into
Open
feat(release-helper): support harness-sdk monorepo structure#70agent-of-mkmeral wants to merge 1 commit into
agent-of-mkmeral wants to merge 1 commit into
Conversation
The SDK packages (Python, TypeScript, Python-WASM) now live as packages inside the strands-agents/harness-sdk monorepo instead of standalone sdk-python / sdk-typescript repos (now archived). Update the release helper to handle the new layout: - Add per-package config fields: repo (shared local checkout), subdir (package path within the repo), and tag_prefix (e.g. python/, typescript/, python-wasm/). - Clone each git repo only once; monorepo packages share one checkout. - Scope the latest-tag lookup to each package's tag prefix so the Python release doesn't pick up TypeScript tags (and vice versa). - Scope 'git log' to each package's subdir so a Python change doesn't pollute the TypeScript changelog. - Run each package's tests from its subdirectory. - Re-apply the tag prefix to the computed new version so the result is a ready-to-use tag (e.g. python/v1.44.0); changelog still shows bare vX.Y.Z. - Rename --repos to --packages (with --repos kept as an alias) and add a --list flag to show the package -> repo/subdir/tag-prefix mapping. Standalone repos (tools, agent-sop, evals, mcp-server) are unchanged: empty subdir/tag_prefix preserves the previous behavior. sdk-python, sdk-typescript, agent-builder and docs are removed since they were folded into the monorepo and archived. Verified against a live clone of harness-sdk: correct prefixed tags, subdir-scoped commit lists, and version bumps for all three packages.
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.
Summary
The SDK packages (Python, TypeScript, Python-WASM) now live as packages inside the
strands-agents/harness-sdkmonorepo instead of the standalonesdk-python/sdk-typescriptrepos (now archived). This updatesscripts/strands_release_helper.pyto handle the new layout.What changed
repo(shared local checkout dir),subdir(package path within the repo), andtag_prefix(e.g.python/,typescript/,python-wasm/).harness-sdkcheckout instead of cloning it three times.get_latest_tag()takes atag_prefixso the Python release usespython/v*tags and doesn't accidentally pick uptypescript/v*(or the legacy barev*) tags.git logis scoped to each package'ssubdir, so a Python-only change doesn't pollute the TypeScript changelog and vice-versa.python/v1.44.0) so it's a ready-to-use tag; the changelog header still shows the barevX.Y.Z.--reposrenamed to--packages(with--reposkept as a backward-compatible alias) and a new--listflag prints the package → repo/subdir/tag-prefix mapping.Package mapping
pythonstrands-py/python/typescriptstrands-ts/typescript/python-wasmstrands-py-wasm/python-wasm/toolsv*agent-sopv*evalsv*mcp-serverv*sdk-python,sdk-typescript,agent-builderanddocswere removed from the config since they were folded into the monorepo and archived. Standalone repos keep their previous behavior (emptysubdir/tag_prefix).Verification
Validated against a live clone of
harness-sdk(not just unit logic):python/v1.43.0python/v1.44.0typescript/v1.5.0typescript/v1.6.0python-wasm/v0.0.1python-wasm/v0.0.2Commit lists were confirmed to be correctly scoped per subdirectory, and
release_params.txt/release_report.mdgeneration works end-to-end.Resolves agent-of-mkmeral/strands-coder-private#300
🤖 Generated with the Strands autonomous GitHub agent.