Fix Neon extension: Unify command structure and remove preview status#9090
Conversation
❌Azure CLI Extensions Breaking Change Test
|
|
Hi @Bhargavsaichinni, |
|
Thank you for your contribution! We will review the pull request and get back to you soon. |
|
The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR. Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions). pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>
|
There was a problem hiding this comment.
Pull Request Overview
This PR unifies the Neon extension command structure and removes preview status to prepare for production release. The dual command structure (az neon and az neon postgres) is consolidated into a single az neon hierarchy, and all preview flags are removed.
Key changes:
- Unified command structure from dual structure to single
az neonpattern - Removed preview status from extension metadata (azext.isPreview: false)
- Updated all commands to use GA API version (2025-03-01)
Reviewed Changes
Copilot reviewed 62 out of 99 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/neon/azext_neon/azext_metadata.json | Removed preview status and updated minimum CLI version |
| src/neon/azext_neon/aaz/latest/neon/project/*.py | Added new project management commands under unified structure |
| src/neon/azext_neon/aaz/latest/neon/organization/_wait.py | Added organization wait command |
CodeGen Tools Feedback CollectionThank you for using our CodeGen tool. We value your feedback, and we would like to know how we can improve our product. Please take a few minutes to fill our codegen survey |
|
60d15e2 to
e433582
Compare
e433582 to
2aab993
Compare
…elease-version-block to warning
|
Please fix CI issues |
…-cal jobs The version-output job depends on artifacts from these prerequisite jobs. Adding issues:write permissions to ensure proper coordination of workflow execution and potential GitHub API interactions.
Correct version to follow proper semantic versioning: - Main branch has 1.0.0b4 (beta 4) - This PR introduces 1.0.0 (stable GA release) - Consolidated all changes into single 1.0.0 release entry This fixes the version calculation error in the workflow that expects proper version progression without skipping stable versions.
Document complete transformation: - Command structure unification (removed duplicate postgres wrapper) - GA transition (1.0.0b4 → 1.0.0) with proper version progression - GitHub Actions workflow fixes (permissions, dependencies) - Style validation resolution (tabs, whitespace, HISTORY ordering) - Risk assessment and testing validation procedures This README serves as complete documentation for reviewers and future maintainers of the Neon extension changes.
Restore the postgres command group file but without registering it as a separate command group. This maintains structural consistency for the version calculation system while keeping commands flattened under 'neon'. The file exists for organizational purposes but does not create the duplicate 'neon postgres' command group that was causing UX issues.
Remove all workflow modifications we made including: - issues:write permissions additions - packaging>=25 dependency upgrade - warning-only error handling changes - workflow permission enhancements This restores the file to its original state from upstream/main to test if the version calculation works with the original workflow.
Following version calculation system recommendations: - VERSION: 1.0.0 → 1.0.0b5 (beta progression) - azext.isPreview: false → true (restore preview status) - Development Status: Production/Stable → Beta - HISTORY.rst: Updated to reflect beta release with command structure improvements This maintains the command structure flattening changes while following the proper version progression path recommended by the system.
|
@microsoft-github-policy-service agree company="Microsoft" |
…ng guidelines - Update VERSION from 1.0.0 to 2.0.0b1 to comply with breaking change requirements - Restore preview status (azext.isPreview: true) and Beta classifier - Update HISTORY.rst to properly document breaking changes from 1.0.0b4 to 2.0.0b1 - Breaking changes require major version increment per official Microsoft guidelines
- Update VERSION from 2.0.0b1 back to 1.0.0b5 as requested - Update HISTORY.rst to match version 1.0.0b5 - Maintain preview status and Beta classifier for compatibility
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
- Updated test commands from 'az neon postgres <subcommand>' to 'az neon <subcommand>' - Fixed command group registration to use flattened structure instead of hierarchical - Removed legacy postgres wrapper comments and restored proper import structure - This resolves the CI failure where 'postgres' was not recognized as a valid subcommand All tests now use the correct command format: - az neon organization (create|list|show|delete) - az neon project (create|list|show|delete) - az neon branch (create|list|delete) - az neon neon-database list - az neon neon-role list
|
Commenter does not have sufficient privileges for PR 9090 in repo Azure/azure-cli-extensions |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
There was a problem hiding this comment.
Pls make it under neon folder instead of root folder
There was a problem hiding this comment.
Doesn't make sense to me to keep all the files under postgres folder since all az neon postgres [command] is now az neon [command]
cc @kairu-ms for review
|
[Release] Update index.json for extension [ neon-1.0.0b5 ] : https://dev.azure.com/msazure/One/_build/results?buildId=135656231&view=results |
Breaking Changes:
Addresses feedback items for production readiness.
This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
General Guidelines
azdev style <YOUR_EXT>locally? (pip install azdevrequired)python scripts/ci/test_index.py -qlocally? (pip install wheel==0.30.0required)For new extensions:
About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update
src/index.jsonautomatically.You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify
src/index.json.