Skip to content

Commit 75e7e8f

Browse files
Merge branch 'Azure:main' into users/andrewmathew1/addautoscalesamples
2 parents 6a8a637 + 0cea46d commit 75e7e8f

File tree

3,688 files changed

+259110
-138620
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,688 files changed

+259110
-138620
lines changed

.github/CODEOWNERS

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,12 +150,12 @@
150150
# PRLabel: %Cognitive - Health Insights
151151
/sdk/healthinsights/ @tomsft @koen-mertens
152152

153-
# AzureSdkOwners: @mccoyp @Azure/azure-sdk-write-keyvault
153+
# AzureSdkOwners: @Azure/azure-sdk-write-keyvault
154154
# ServiceLabel: %KeyVault
155155
# ServiceOwners: @cheathamb36 @chen-karen @Azure/azure-sdk-write-keyvault
156156

157157
# PRLabel: %KeyVault
158-
/sdk/keyvault/ @mccoyp @Azure/azure-sdk-write-keyvault
158+
/sdk/keyvault/ @Azure/azure-sdk-write-keyvault
159159

160160
# PRLabel: %Load Test Service
161161
/sdk/loadtesting/azure-developer-loadtesting/ @prativen @mitsha-microsoft @ninallam
@@ -320,6 +320,10 @@
320320
# PRLabel: %Operator Nexus - Network Cloud
321321
/sdk/networkcloud/ @Azure/azure-sdk-write-networkcloud
322322

323+
# ServiceLabel: %Planetary Computer
324+
# PRLabel: %Planetary Computer
325+
/sdk/planetarycomputer/ @mandarinamdar @chahibi
326+
323327
# AzureSdkOwners: @annatisch
324328
# ServiceLabel: %Azure Projects
325329
# ServiceOwners: @annatisch
@@ -859,4 +863,4 @@
859863
/eng/emitter-package-lock.json @mccoyp @catalinaperalta @iscai-msft
860864

861865
/pylintrc @l0lawrence @scbedd @mccoyp
862-
/sdk/**/ci.yml @msyyc @lmazuel
866+
/sdk/**/ci.yml @msyyc @lmazuel @scbedd

.github/copilot-instructions.md

Lines changed: 1 addition & 191 deletions
Original file line numberDiff line numberDiff line change
@@ -16,180 +16,6 @@
1616
**REQUIRED CONDITIONS:**
1717
- To use Azure MCP tool calls, users must have PowerShell installed. Provide [PowerShell installation instructions](https://learn.microsoft.com/powershell/scripting/install/installing-powershell) if not installed, and recommend restarting the IDE to start the MCP server.
1818

19-
**BEFORE any commands:**
20-
1. Get path to azure-sdk-for-python repo root, and path to tox.ini file
21-
2. Use `verify_setup` tool from azure-sdk-python-mcp server
22-
3. Ensure Python virtual environment is active
23-
24-
**Virtual Environment Setup:**
25-
```bash
26-
# Create new environment
27-
python -m venv <env_name>
28-
29-
# Activate environment
30-
# Linux/macOS:
31-
source <env_name>/bin/activate
32-
# Windows:
33-
<env_name>\Scripts\activate
34-
```
35-
36-
---
37-
38-
## TYPESPEC SDK GENERATION - COMPLETE WORKFLOW
39-
40-
### PHASE 1: CONTEXT ASSESSMENT
41-
42-
**ACTION:** Determine TypeSpec project location
43-
```
44-
IF TypeSpec project paths exist in context:
45-
USE local paths to generate SDK from tspconfig.yaml
46-
ELSE:
47-
ASK user for tspconfig.yaml file path
48-
```
49-
50-
### PHASE 2: PREREQUISITES CHECK
51-
52-
**REQUIRED CONDITIONS:**
53-
1. GitHub CLI authenticated: `gh auth login`
54-
2. User on feature branch (NOT main)
55-
```bash
56-
git checkout -b <branch_name>
57-
```
58-
59-
### PHASE 3: TSP-CLIENT RULES
60-
61-
**CRITICAL RULES:**
62-
- **LOCAL REPO:** Do NOT grab commit hash
63-
- **DIRECTORIES:** Let commands auto-create directories
64-
- **PACKAGE GENERATION:** Find tsp-location.yaml in azure-sdk-for-python repo
65-
- **URL REFERENCES:** Use commit hash (NOT branch name) for tspconfig.yaml URLs
66-
67-
**Get latest commit hash:**
68-
```bash
69-
curl -s "https://api.github.com/repos/Azure/azure-rest-api-specs/commits?path=<path_to_tspconfig.yaml>&per_page=1"
70-
```
71-
72-
**DEPENDENCIES:** Verify installation of: node, python, tox
73-
74-
---
75-
76-
## EXECUTION SEQUENCE - 7 MANDATORY STEPS
77-
78-
**ESTIMATED TOTAL TIME: 10-15 minutes**
79-
- SDK Generation: ~2 minutes
80-
- Static Validation: ~3-5 minutes
81-
- Documentation & Commit: ~2-4 minutes
82-
83-
**ALWAYS inform users of time expectations before starting any long-running operations.**
84-
85-
### STEP 1: ENVIRONMENT VERIFICATION
86-
```
87-
ACTION: Run verify_setup mcp tool
88-
IF missing dependencies:
89-
STOP and install missing dependencies
90-
THEN proceed to Step 2
91-
```
92-
93-
### STEP 2: SDK GENERATION
94-
```
95-
ACTION: Use azure-sdk-python-mcp sdk generation server tools (init for new packages, update for existing packages)
96-
IF commands fail:
97-
ANALYZE error messages
98-
DIRECT user to fix TypeSpec errors in source repo
99-
```
100-
101-
### STEP 3: STATIC VALIDATION (SEQUENTIAL)
102-
```
103-
FOR EACH validation step:
104-
RUN validation (tox mcp tool)
105-
IF errors/warnings found:
106-
FIX issues
107-
RERUN same step
108-
ONLY proceed to next step when current step passes
109-
```
110-
111-
**Validation Commands:**
112-
```bash
113-
# Step 3a: Pylint
114-
tox -e pylint -c [path to tox.ini] --root .
115-
116-
# Step 3b: MyPy
117-
tox -e mypy -c [path to tox.ini] --root .
118-
119-
# Step 3c: Pyright
120-
tox -e pyright -c [path to tox.ini] --root .
121-
122-
# Step 3d: Verifytypes
123-
tox -e verifytypes -c [path to tox.ini] --root .
124-
125-
# Step 3e: Sphinx
126-
tox -e sphinx -c [path to tox.ini] --root .
127-
128-
# Step 3f: Mindependency
129-
tox -e mindependency -c [path to tox.ini] --root .
130-
131-
# Step 3g: Bandit
132-
tox -e bandit -c [path to tox.ini] --root .
133-
134-
# Step 3h: Black
135-
tox -e black -c [path to tox.ini] --root .
136-
137-
# Step 3i: Samples
138-
tox -e samples -c [path to tox.ini] --root .
139-
140-
# Step 3j: Breaking
141-
tox -e breaking -c [path to tox.ini] --root .
142-
```
143-
144-
**REQUIREMENTS:**
145-
- Provide summary after each validation step
146-
- Edit ONLY files with validation errors/warnings
147-
- Fix each issue before proceeding
148-
149-
### STEP 4: DOCUMENTATION UPDATE
150-
```
151-
REQUIRED ACTIONS:
152-
1. CREATE/UPDATE CHANGELOG.md with changes
153-
2. VERIFY package version matches API spec version
154-
3. IF version incorrect: UPDATE _version.py AND CHANGELOG
155-
4. SET CHANGELOG entry date to TODAY
156-
```
157-
158-
### STEP 5: COMMIT AND PUSH
159-
```
160-
ACTION: Show changed files (ignore .github, .vscode)
161-
IF user confirms:
162-
git add <changed_files>
163-
git commit -m "<commit_message>"
164-
git push -u origin <branch_name>
165-
IF authentication fails:
166-
PROMPT: gh auth login
167-
IF user rejects:
168-
GUIDE to fix issues and revalidate
169-
```
170-
171-
### STEP 6: PULL REQUEST MANAGEMENT
172-
```
173-
CHECK: Does PR exist for current branch?
174-
IF PR exists:
175-
SHOW PR details
176-
IF NO PR exists:
177-
VERIFY branch != "main"
178-
PUSH changes to remote
179-
GENERATE PR title and description
180-
CREATE PR in DRAFT mode
181-
RETURN PR link
182-
ALWAYS: Display PR summary with status, checks, action items
183-
```
184-
185-
### STEP 7: HANDOFF
186-
```
187-
FINAL ACTIONS:
188-
1. RETURN PR URL for review
189-
2. PROMPT user with exact text:
190-
"Use the azure-rest-api-specs agent to handle the rest of the process and provide it the pull request."
191-
```
192-
19319
---
19420

19521
## PYLINT OPERATIONS
@@ -284,20 +110,4 @@ This library is failing two release blocking checks - Mypy and Tests - CI. The l
284110

285111
## SDK release
286112

287-
There are two tools to help with SDK releases:
288-
- Check SDK release readiness
289-
- Release SDK
290-
291-
### Check SDK Release Readiness
292-
Run `CheckPackageReleaseReadiness` to verify if the package is ready for release. This tool checks:
293-
- API review status
294-
- Change log status
295-
- Package name approval(If package is new and releasing a preview version)
296-
- Release date is set in release tracker
297-
298-
### Release SDK
299-
Run `ReleasePackage` to release the package. This tool requires package name and language as inputs. It will:
300-
- Check if the package is ready for release
301-
- Identify the release pipeline
302-
- Trigger the release pipeline.
303-
User needs to approve the release stage in the pipeline after it is triggered.
113+
For detailed workflow instructions, see [SDK Release](https://github.com/Azure/azure-sdk-for-python/blob/main/eng/common/instructions/copilot/sdk-release.instructions.md).

.github/workflows/azure-sdk-tools.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,60 @@ jobs:
5353
black --check --config eng/black-pyproject.toml eng/tools/azure-sdk-tools --exclude 'templates'
5454
shell: bash
5555

56+
verify-azpysdk-checks:
57+
runs-on: ubuntu-latest
58+
steps:
59+
- uses: actions/checkout@v2
60+
61+
- name: Set up Python 3.13
62+
uses: actions/setup-python@v4
63+
with:
64+
python-version: 3.13
65+
66+
- name: Install uv
67+
run: |
68+
curl -LsSf https://astral.sh/uv/install.sh | sh
69+
shell: bash
70+
71+
- name: Install azure-sdk-tools on in global uv, discover azpysdk checks
72+
run: |
73+
uv pip install --system eng/tools/azure-sdk-tools[build,ghtools,conda]
74+
75+
# Discover available azpysdk commands from the {command1,command2,...} line in help output
76+
CHECKS=$(azpysdk -h 2>&1 | \
77+
grep -oP '\{[^}]+\}' | \
78+
tail -1 | \
79+
tr -d '{}' | \
80+
tr ',' '\n' | \
81+
grep -v '^next-' | \
82+
sort | \
83+
paste -sd,)
84+
85+
if [ -z "$CHECKS" ]; then
86+
echo "No azpysdk check modules discovered from azpysdk -h" >&2
87+
exit 1
88+
fi
89+
echo "Discovered azpysdk checks: $CHECKS"
90+
echo "AZPYSDK_CHECKS=$CHECKS" >> "$GITHUB_ENV"
91+
shell: bash
92+
93+
- name: Run all discovered checks against azure-template using uv as package manager
94+
run: |
95+
python eng/scripts/dispatch_checks.py --checks "$AZPYSDK_CHECKS" azure-template
96+
shell: bash
97+
env:
98+
TOX_PIP_IMPL: "uv"
99+
100+
- name: Install azure-sdk-tools on global pip env
101+
run: |
102+
python -m pip install -e eng/tools/azure-sdk-tools[build,ghtools,conda]
103+
shell: bash
104+
105+
- name: Run all discovered checks against azure-template using pip as package manager
106+
run: |
107+
python eng/scripts/dispatch_checks.py --checks "$AZPYSDK_CHECKS" azure-template
108+
shell: bash
109+
56110
dev-setup-and-import:
57111
runs-on: ubuntu-latest
58112
steps:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ conda/assembled/
6060
conda/downloaded/
6161
conda/conda-env/
6262
scenario_*.txt
63+
.wheels
6364

6465
# tox environment folders
6566
.tox/

.vscode/cspell.json

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1676,7 +1676,26 @@
16761676
"getopenidmetadata",
16771677
"getopenidmetadataasync",
16781678
"aikcert",
1679-
"shareduks"
1679+
"shareduks",
1680+
"PKIX",
1681+
"tcbbaselines",
1682+
"Iiwg",
1683+
"Ijog",
1684+
"Ghvc",
1685+
"MCIs",
1686+
"Mdxl",
1687+
"Dxxf",
1688+
"PYSN",
1689+
"Aiandr",
1690+
"Ijoic",
1691+
"Jjcn",
1692+
"QLTI",
1693+
"Hhnc",
1694+
"Mkxzellr",
1695+
"Sjhual",
1696+
"Inki",
1697+
"NGZZN",
1698+
"Igog",
16801699
]
16811700
},
16821701
{

.vscode/mcp.json

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,5 @@
11
{
22
"servers": {
3-
"azure-sdk-python-mcp": {
4-
"command": "uv",
5-
"args": [
6-
"run",
7-
"--index-url",
8-
"https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/",
9-
"--with",
10-
"azure-sdk-python-mcp",
11-
"azure-sdk-python-mcp"
12-
],
13-
},
143
"azure-sdk-mcp": {
154
"type": "stdio",
165
"command": "pwsh",

doc/dev/issues/resolve_issues_effectively.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,16 @@ If you are not familiar with the SDK usage of a service, you can find relevant e
1313

1414
For some common errors, you can check [here](#summary-of-common-errors).
1515

16-
## Feature Request(For users)
16+
## Feature Request (For users)
1717

18-
See [here][request_a_feature] for more details.
18+
Python SDKs are automatically generated based on REST API, so we generally do not recommend modifying SDK code manually. If you need a new function, but the SDK does not provide it, you need to open an issue in the [REST API repository](https://github.com/Azure/azure-rest-api-specs/issues) to describe clearly the feature you want.
1919

2020
## Bug Report (For users)
2121

2222
Please describe the bug in as much detail as possible, such as listing the SDK package name, version and operating system info you use.
2323

2424
If you can provide detailed reproduction steps, it will help us locate and solve the issue.
2525

26-
<hr/>
27-
2826
## Summary Of Common Errors
2927

3028
### Error from Track1 to Track2
@@ -73,7 +71,6 @@ When this error occurs, you can check the version of `msrest` and upgrade it to
7371

7472

7573
[sample repo]: https://github.com/Azure-Samples/azure-samples-python-management
76-
[request_a_feature]: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/how_to_request_a_feature_in_sdk.md
7774
[rest API]: https://github.com/Azure/azure-rest-api-specs
7875
[rest issue]: https://github.com/Azure/azure-rest-api-specs/issues
7976
[SDK dependency]: https://github.com/Azure/azure-sdk-for-python/blob/main/shared_requirements.txt

0 commit comments

Comments
 (0)