Skip to content

Commit 4f13652

Browse files
Copilotl0lawrenceCopilotCopilot
authored
Add azpysdk changelog command group wrapping Chronus (#46016)
* Initial plan * Add changelog command group to azpysdk CLI wrapping Chronus Adds `azpysdk changelog {add,verify,create,status}` subcommands that delegate to `npx chronus` at the repository root, enabling developers to manage changelogs without leaving the azpysdk CLI. Agent-Logs-Url: https://github.com/Azure/azure-sdk-for-python/sessions/a188ee1e-f36a-4ca9-be34-654196dd5328 Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com> * Detect package from CWD so changelog commands work from package dirs When running `azpysdk changelog add` from within a package directory (e.g. sdk/storage/azure-storage-blob), the package path is now detected automatically and passed to chronus. An explicit package argument still takes precedence. Chronus itself always runs from the repo root. Agent-Logs-Url: https://github.com/Azure/azure-sdk-for-python/sessions/758fb61b-770f-40c1-91a6-108220c6a402 Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com> * nice install of chronus * Add --kind and --message flags to changelog add for breaking changes Add --kind (-k) and --message (-m) flags to `azpysdk changelog add` that forward to chronus's native --kind and --message options. This lets developers tag entries as breaking (or any other change kind) non-interactively: azpysdk changelog add --kind breaking -m "Removed deprecated API" azpysdk changelog add -k feature -m "Added new endpoint" Valid kinds: breaking, feature, deprecation, fix, dependencies, internal Also fix _ensure_chronus_installed to skip the interactive prompt when stdin is not a TTY (non-interactive / CI environments). Agent-Logs-Url: https://github.com/Azure/azure-sdk-for-python/sessions/aa3dee26-9283-4594-a49f-64fc64d3d995 Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com> * Address review: dynamic change kinds, AZPYSDK_AUTO_INSTALL gate, direct attr access, parser on instance 1. Read _CHANGE_KINDS from .chronus/config.yaml via _load_change_kinds() with hardcoded fallback when config or pyyaml is unavailable. 2. Non-interactive (CI) mode now requires AZPYSDK_AUTO_INSTALL=1 env var before running npm install automatically. 3. Use args.package/args.kind/args.message directly instead of getattr. 4. Store parser reference as self._parser on the changelog class instance instead of stashing a private attr on the argparse Namespace. Agent-Logs-Url: https://github.com/Azure/azure-sdk-for-python/sessions/c9c4bf6e-9283-48b9-9861-00062d368e90 Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com> * fix Co-authored-by: Copilot <copilot@github.com> * changes * Pin Chronus: move to .github/chronus with exact version 1.3.1 + lockfile The prior root package.json/lockfile were gitignored (the root is reserved for tsp-client transient files), so they never actually shipped. Move the pinned Chronus dev dependency to .github/chronus/ and commit both package.json (exact version 1.3.1, no caret) and package-lock.json so transitive deps are locked with integrity hashes. Update azpysdk/changelog.py to: - look for chronus under .github/chronus/node_modules - install via 'npm ci' (honors lockfile, fails on drift) instead of 'npm install' - invoke the pinned chronus binary directly instead of via npx, so there is no ambient resolution or registry lookup even if the local install is somehow incomplete Tests updated accordingly; all 44 pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * cleaning up * reuse discover_targetd_packagfes Co-authored-by: Copilot <copilot@github.com> * Resolve merge conflict in azpysdk/main.py Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * changes Co-authored-by: Copilot <copilot@github.com> * update tests Co-authored-by: Copilot <copilot@github.com> * trying to fix verify check Co-authored-by: Copilot <copilot@github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com> Co-authored-by: Libba Lawrence <llawrence@microsoft.com> Co-authored-by: Copilot <copilot@github.com> Co-authored-by: l0lawrence <l0lawrence@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 563551a commit 4f13652

6 files changed

Lines changed: 3216 additions & 1 deletion

File tree

0 commit comments

Comments
 (0)