Commit 4f13652
Add
* 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>azpysdk changelog command group wrapping Chronus (#46016)1 parent 563551a commit 4f13652
6 files changed
Lines changed: 3216 additions & 1 deletion
File tree
- .github
- chronus
- workflows
- eng/tools/azure-sdk-tools
- azpysdk
- tests
0 commit comments