Skip to content

Commit e2a7c84

Browse files
Merge branch 'main' of github.com:Azure/azure-cli-extensions into ml-dev
2 parents 308b156 + e7519a9 commit e2a7c84

File tree

3,189 files changed

+829516
-465104
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,189 files changed

+829516
-465104
lines changed

.github/CODEOWNERS

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@
6262

6363
/src/aks-preview/ @andyzhangx @andyliuliming @fumingzhang
6464

65+
/src/aks-agent/ @nilo19 @mainerd
66+
6567
/src/bastion/ @aavalang
6668

6769
/src/vm-repair/ @haagha
@@ -88,7 +90,7 @@
8890

8991
/src/ip-group/ @necusjz @kairu-ms @jsntcy
9092

91-
/src/connectedk8s/ @bavneetsingh16 @deeksha345 @anagg929 @atchutbarli
93+
/src/connectedk8s/ @bavneetsingh16 @deeksha345 @anagg929 @atchutbarli @bgriddaluru
9294

9395
/src/storagesync/ @jsntcy
9496

@@ -238,7 +240,7 @@
238240

239241
/src/quota/ @kairu-ms @ZengTaoxu
240242

241-
/src/containerapp/ @ruslany @sanchitmehta @ebencarek @JennyLawrance @howang-ms @vinisoto @chinadragon0515 @vturecek @torosent @pagariyaalok @Juliehzl @jijohn14
243+
/src/containerapp/ @ruslany @sanchitmehta @ebencarek @JennyLawrance @howang-ms @vinisoto @chinadragon0515 @vturecek @torosent @pagariyaalok @Juliehzl @jijohn14 @Greedygre @ShichaoQiu @bowen5
242244

243245
/src/scvmm/ @nascarsayan @hsurana06
244246

@@ -333,3 +335,7 @@
333335
/src/amlfs/ @Aman-Jain-14 @amajai @mawhite @brpanask @tibanyas
334336

335337
/src/storage-discovery/ @shanefujs @calvinhzy
338+
339+
/src/aks-agent/ @feiskyer @mainred @nilo19
340+
341+
/src/migrate/ @saifaldin14

.github/policies/resourceManagement.yml

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -653,8 +653,8 @@ configuration:
653653
then:
654654
- mentionUsers:
655655
mentionees:
656-
- cabbpt
657-
- theelderwand
656+
- muazmian
657+
- us6193
658658
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
659659
assignMentionees: False
660660
- if:
@@ -1469,6 +1469,19 @@ configuration:
14691469
- NateB2
14701470
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
14711471
assignMentionees: False
1472+
- if:
1473+
- hasLabel:
1474+
label: Service Attention
1475+
- hasLabel:
1476+
label: Data Transfer
1477+
then:
1478+
- mentionUsers:
1479+
mentionees:
1480+
- fzkhan
1481+
- lasuredd-msft
1482+
- pkuma-msft
1483+
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
1484+
assignMentionees: False
14721485
- if:
14731486
- hasLabel:
14741487
label: Service Attention
@@ -1962,7 +1975,10 @@ configuration:
19621975
- mentionUsers:
19631976
mentionees:
19641977
- ambhatna
1965-
- savjani
1978+
- deepthiprasad
1979+
- akning-ms
1980+
- junsu-msft
1981+
- coffeemug
19661982
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
19671983
assignMentionees: False
19681984
- if:
@@ -2229,6 +2245,7 @@ configuration:
22292245
- mentionUsers:
22302246
mentionees:
22312247
- AzMonEssential
2248+
- LarryZhang19
22322249
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
22332250
assignMentionees: False
22342251
- if:
@@ -2301,7 +2318,10 @@ configuration:
23012318
- mentionUsers:
23022319
mentionees:
23032320
- ambhatna
2304-
- savjani
2321+
- deepthiprasad
2322+
- akning-ms
2323+
- junsu-msft
2324+
- coffeemug
23052325
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
23062326
assignMentionees: False
23072327
- if:
@@ -2314,6 +2334,10 @@ configuration:
23142334
mentionees:
23152335
- daeunyim
23162336
- rajsell
2337+
- deepthiprasad
2338+
- akning-ms
2339+
- junsu-msft
2340+
- coffeemug
23172341
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
23182342
assignMentionees: False
23192343
- if:
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: Trigger ADO OneBranch Extension Release Pipeline
2+
3+
# Run this workflow every time a commit gets pushed to main
4+
# This triggers the ADO OneBranch Extension Release Pipeline
5+
on:
6+
push:
7+
branches:
8+
- main
9+
10+
permissions:
11+
contents: read
12+
id-token: write
13+
14+
jobs:
15+
build:
16+
name: Test Trigger Extension Release Pipeline
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Harden Runner
20+
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
21+
with:
22+
egress-policy: audit
23+
- name: Azure login
24+
uses: azure/login@v2
25+
with:
26+
client-id: ${{ secrets.ADO_SP_ClientID }}
27+
tenant-id: ${{ secrets.ADO_SP_TenantID }}
28+
allow-no-subscriptions: true
29+
- name: Test Trigger ADO Pipeline and Wait for Completion
30+
uses: azure/cli@v2
31+
env:
32+
ado-org: ${{secrets.ADO_ORGANIZATION}}
33+
ado-project: ${{secrets.ADO_PROJECT}}
34+
ado-pipeline-id: 396380
35+
commit-id: ${{ github.sha }}
36+
with:
37+
inlineScript: |
38+
# Trigger the pipeline and capture the build ID
39+
echo "Triggering ADO pipeline..."
40+
BUILD_RESULT=$(az pipelines build queue \
41+
--definition-id ${{ env.ado-pipeline-id }} \
42+
--organization ${{ env.ado-org }} \
43+
--project ${{ env.ado-project }} \
44+
--variables commit_id=${{ env.commit-id }} \
45+
--output json)
46+
47+
BUILD_ID=$(echo $BUILD_RESULT | jq -r '.id')
48+
echo "Pipeline triggered with Build ID: $BUILD_ID"
49+
50+
if [ "$BUILD_ID" = "null" ] || [ -z "$BUILD_ID" ]; then
51+
echo "Failed to get build ID from pipeline trigger"
52+
exit 1
53+
fi
54+
55+
# Wait for the build to complete
56+
echo "Waiting for build $BUILD_ID to complete..."
57+
while true; do
58+
BUILD_JSON=$(az pipelines build show \
59+
--id $BUILD_ID \
60+
--organization ${{ env.ado-org }} \
61+
--project ${{ env.ado-project }} \
62+
--output json)
63+
64+
BUILD_STATUS=$(echo "$BUILD_JSON" | jq -r '.status')
65+
BUILD_RESULT_STATUS=$(echo "$BUILD_JSON" | jq -r '.result // "none"')
66+
67+
echo "Current status: $BUILD_STATUS, Result: $BUILD_RESULT_STATUS"
68+
69+
# Check if build is completed
70+
if [ "$BUILD_STATUS" = "completed" ]; then
71+
echo "Build completed with result: $BUILD_RESULT_STATUS"
72+
73+
# Check if the build was successful
74+
if [ "$BUILD_RESULT_STATUS" = "succeeded" ]; then
75+
echo "✅ ADO pipeline build succeeded!"
76+
exit 0
77+
elif [ "$BUILD_RESULT_STATUS" = "partiallySucceeded" ]; then
78+
echo "⚠️ ADO pipeline build partially succeeded"
79+
exit 1
80+
else
81+
echo "❌ ADO pipeline build failed with result: $BUILD_RESULT_STATUS"
82+
exit 1
83+
fi
84+
fi
85+
86+
# Check for other terminal states
87+
if [ "$BUILD_STATUS" = "cancelling" ] || [ "$BUILD_STATUS" = "cancelled" ]; then
88+
echo "❌ ADO pipeline build was cancelled"
89+
exit 1
90+
fi
91+
92+
# Wait 60 seconds before checking again
93+
echo "Build still running... waiting 60 seconds"
94+
sleep 60
95+
done

.github/workflows/TriggerExtensionRelease.yml

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
client-id: ${{ secrets.ADO_SP_ClientID }}
2727
tenant-id: ${{ secrets.ADO_SP_TenantID }}
2828
allow-no-subscriptions: true
29-
- name: Azure CLI
29+
- name: Trigger ADO Pipeline and Wait for Completion
3030
uses: azure/cli@v2
3131
env:
3232
ado-org: ${{secrets.ADO_ORGANIZATION}}
@@ -35,4 +35,61 @@ jobs:
3535
commit-id: ${{ github.sha }}
3636
with:
3737
inlineScript: |
38-
az pipelines build queue --definition-id ${{ env.ado-pipeline-id }} --organization ${{ env.ado-org }} --project ${{ env.ado-project }} --variables commit_id=${{ env.commit-id }}
38+
# Trigger the pipeline and capture the build ID
39+
echo "Triggering ADO pipeline..."
40+
BUILD_RESULT=$(az pipelines build queue \
41+
--definition-id ${{ env.ado-pipeline-id }} \
42+
--organization ${{ env.ado-org }} \
43+
--project ${{ env.ado-project }} \
44+
--variables commit_id=${{ env.commit-id }} \
45+
--output json)
46+
47+
BUILD_ID=$(echo $BUILD_RESULT | jq -r '.id')
48+
echo "Pipeline triggered with Build ID: $BUILD_ID"
49+
50+
if [ "$BUILD_ID" = "null" ] || [ -z "$BUILD_ID" ]; then
51+
echo "Failed to get build ID from pipeline trigger"
52+
exit 1
53+
fi
54+
55+
# Wait for the build to complete
56+
echo "Waiting for build $BUILD_ID to complete..."
57+
while true; do
58+
BUILD_JSON=$(az pipelines build show \
59+
--id $BUILD_ID \
60+
--organization ${{ env.ado-org }} \
61+
--project ${{ env.ado-project }} \
62+
--output json)
63+
64+
BUILD_STATUS=$(echo "$BUILD_JSON" | jq -r '.status')
65+
BUILD_RESULT_STATUS=$(echo "$BUILD_JSON" | jq -r '.result // "none"')
66+
67+
echo "Current status: $BUILD_STATUS, Result: $BUILD_RESULT_STATUS"
68+
69+
# Check if build is completed
70+
if [ "$BUILD_STATUS" = "completed" ]; then
71+
echo "Build completed with result: $BUILD_RESULT_STATUS"
72+
73+
# Check if the build was successful
74+
if [ "$BUILD_RESULT_STATUS" = "succeeded" ]; then
75+
echo "✅ ADO pipeline build succeeded!"
76+
exit 0
77+
elif [ "$BUILD_RESULT_STATUS" = "partiallySucceeded" ]; then
78+
echo "⚠️ ADO pipeline build partially succeeded"
79+
exit 1
80+
else
81+
echo "❌ ADO pipeline build failed with result: $BUILD_RESULT_STATUS"
82+
exit 1
83+
fi
84+
fi
85+
86+
# Check for other terminal states
87+
if [ "$BUILD_STATUS" = "cancelling" ] || [ "$BUILD_STATUS" = "cancelled" ]; then
88+
echo "❌ ADO pipeline build was cancelled"
89+
exit 1
90+
fi
91+
92+
# Wait 60 seconds before checking again
93+
echo "Build still running... waiting 60 seconds"
94+
sleep 60
95+
done

linter_exclusions.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3402,3 +3402,43 @@ eventgrid namespace topic update:
34023402
event_retention_in_days:
34033403
rule_exclusions:
34043404
- option_length_too_long
3405+
3406+
neon postgres endpoint create:
3407+
rule_exclusions:
3408+
- missing_command_example
3409+
3410+
neon postgres neon-role create:
3411+
rule_exclusions:
3412+
- missing_command_example
3413+
3414+
neon postgres neon-database create:
3415+
rule_exclusions:
3416+
- missing_command_example
3417+
3418+
neon postgres get-postgres-version:
3419+
rule_exclusions:
3420+
- missing_command_example
3421+
3422+
neon postgres branch:
3423+
rule_exclusions:
3424+
- require_wait_command_if_no_wait
3425+
3426+
neon postgres endpoint:
3427+
rule_exclusions:
3428+
- require_wait_command_if_no_wait
3429+
3430+
neon postgres neon-database:
3431+
rule_exclusions:
3432+
- require_wait_command_if_no_wait
3433+
3434+
neon postgres neon-role:
3435+
rule_exclusions:
3436+
- require_wait_command_if_no_wait
3437+
3438+
neon postgres organization:
3439+
rule_exclusions:
3440+
- require_wait_command_if_no_wait
3441+
3442+
neon postgres project:
3443+
rule_exclusions:
3444+
- require_wait_command_if_no_wait

scripts/ci/avail-ext-doc/update_extension_list.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,16 @@ def get_extensions():
4242
exts = sorted(exts, key=lambda c: parse_version(c['metadata']['version']), reverse=True)
4343

4444
# some extension modules may not include 'HISTORY.rst'
45-
project_url = exts[0]['metadata']['extensions']['python.details']['project_urls']['Home']
45+
# setup.py
46+
if 'project_urls' in exts[0]['metadata']['extensions']['python.details']:
47+
project_url = exts[0]['metadata']['extensions']['python.details']['project_urls']['Home']
48+
# pyproject.toml
49+
elif 'project_url' in exts[0]['metadata']:
50+
project_url = exts[0]['metadata']['project_url'].replace('homepage,', '').strip()
51+
print(f"Warning: extension {exts[0]['metadata']['name']} has migrated to pyproject.toml.")
52+
else:
53+
project_url = ''
54+
print(f"Warning: No project_url found for extension {exts[0]['metadata']['name']}")
4655
history_tmp = project_url + '/HISTORY.rst'
4756
history = project_url if str(requests.get(history_tmp).status_code) == '404' else history_tmp
4857
if exts[0]['metadata'].get('azext.isPreview'):

scripts/ci/azdev_linter_style.py

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,27 @@ def azdev_on_external_extension(index_json, azdev_type):
179179
with open(index_json, 'r') as fd:
180180
current_extensions = json.loads(fd.read()).get("extensions")
181181

182+
def entry_equals_ignore_url(entry1, entry2):
183+
"""Compare two entries ignoring downloadUrl field"""
184+
entry1_copy = entry1.copy()
185+
entry2_copy = entry2.copy()
186+
entry1_copy.pop('downloadUrl', None)
187+
entry2_copy.pop('downloadUrl', None)
188+
return entry1_copy == entry2_copy
189+
182190
for name in current_extensions:
183-
modified_entries = [entry for entry in current_extensions[name] if entry not in public_extensions.get(name, [])]
191+
public_entries = public_extensions.get(name, [])
192+
193+
# Find modified entries by comparing without downloadUrl
194+
modified_entries = []
195+
for entry in current_extensions[name]:
196+
is_modified = True
197+
for public_entry in public_entries:
198+
if entry_equals_ignore_url(entry, public_entry):
199+
is_modified = False
200+
break
201+
if is_modified:
202+
modified_entries.append(entry)
184203

185204
if not modified_entries:
186205
continue
@@ -204,7 +223,7 @@ def azdev_on_external_extension(index_json, azdev_type):
204223
# azdev test support external extension
205224
# azdev_extension.style()
206225

207-
logger.info('Checking service name for external extensions')
226+
logger.info('Checking service name for external extensions: %s', name)
208227
service_name.check()
209228

210229
az_extension.remove()
@@ -245,7 +264,7 @@ def azdev_on_internal_extension(modified_files, azdev_type):
245264
logger.error(statement_msg)
246265
exit(1)
247266

248-
logger.info('Checking service name for internal extensions')
267+
logger.info('Checking service name for internal extensions: %s', name)
249268
service_name.check()
250269

251270
azdev_extension.remove()

0 commit comments

Comments
 (0)