Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
8 changes: 7 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@

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

/src/aks-agent/ @nilo19 @mainerd

/src/bastion/ @aavalang

/src/vm-repair/ @haagha
Expand All @@ -88,7 +90,7 @@

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

/src/connectedk8s/ @bavneetsingh16 @deeksha345 @anagg929 @atchutbarli
/src/connectedk8s/ @bavneetsingh16 @deeksha345 @anagg929 @atchutbarli @bgriddaluru

/src/storagesync/ @jsntcy

Expand Down Expand Up @@ -333,3 +335,7 @@
/src/amlfs/ @Aman-Jain-14 @amajai @mawhite @brpanask @tibanyas

/src/storage-discovery/ @shanefujs @calvinhzy

/src/aks-agent/ @feiskyer @mainred @nilo19

/src/migrate/ @saifaldin14
32 changes: 28 additions & 4 deletions .github/policies/resourceManagement.yml
Original file line number Diff line number Diff line change
Expand Up @@ -653,8 +653,8 @@ configuration:
then:
- mentionUsers:
mentionees:
- cabbpt
- theelderwand
- muazmian
- us6193
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
assignMentionees: False
- if:
Expand Down Expand Up @@ -1469,6 +1469,19 @@ configuration:
- NateB2
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
assignMentionees: False
- if:
- hasLabel:
label: Service Attention
- hasLabel:
label: Data Transfer
then:
- mentionUsers:
mentionees:
- fzkhan
- lasuredd-msft
- pkuma-msft
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
assignMentionees: False
- if:
- hasLabel:
label: Service Attention
Expand Down Expand Up @@ -1962,7 +1975,10 @@ configuration:
- mentionUsers:
mentionees:
- ambhatna
- savjani
- deepthiprasad
- akning-ms
- junsu-msft
- coffeemug
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
assignMentionees: False
- if:
Expand Down Expand Up @@ -2229,6 +2245,7 @@ configuration:
- mentionUsers:
mentionees:
- AzMonEssential
- LarryZhang19
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
assignMentionees: False
- if:
Expand Down Expand Up @@ -2301,7 +2318,10 @@ configuration:
- mentionUsers:
mentionees:
- ambhatna
- savjani
- deepthiprasad
- akning-ms
- junsu-msft
- coffeemug
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
assignMentionees: False
- if:
Expand All @@ -2314,6 +2334,10 @@ configuration:
mentionees:
- daeunyim
- rajsell
- deepthiprasad
- akning-ms
- junsu-msft
- coffeemug
replyTemplate: Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc ${mentionees}.
assignMentionees: False
- if:
Expand Down
95 changes: 95 additions & 0 deletions .github/workflows/TestTriggerExtensionRelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Trigger ADO OneBranch Extension Release Pipeline

# Run this workflow every time a commit gets pushed to main
# This triggers the ADO OneBranch Extension Release Pipeline
on:
push:
branches:
- main

permissions:
contents: read
id-token: write

jobs:
build:
name: Test Trigger Extension Release Pipeline
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
egress-policy: audit
- name: Azure login
uses: azure/login@v2
with:
client-id: ${{ secrets.ADO_SP_ClientID }}
tenant-id: ${{ secrets.ADO_SP_TenantID }}
allow-no-subscriptions: true
- name: Test Trigger ADO Pipeline and Wait for Completion
uses: azure/cli@v2
env:
ado-org: ${{secrets.ADO_ORGANIZATION}}
ado-project: ${{secrets.ADO_PROJECT}}
ado-pipeline-id: 396380
commit-id: ${{ github.sha }}
with:
inlineScript: |
# Trigger the pipeline and capture the build ID
echo "Triggering ADO pipeline..."
BUILD_RESULT=$(az pipelines build queue \
--definition-id ${{ env.ado-pipeline-id }} \
--organization ${{ env.ado-org }} \
--project ${{ env.ado-project }} \
--variables commit_id=${{ env.commit-id }} \
--output json)

BUILD_ID=$(echo $BUILD_RESULT | jq -r '.id')
echo "Pipeline triggered with Build ID: $BUILD_ID"

if [ "$BUILD_ID" = "null" ] || [ -z "$BUILD_ID" ]; then
echo "Failed to get build ID from pipeline trigger"
exit 1
fi

# Wait for the build to complete
echo "Waiting for build $BUILD_ID to complete..."
while true; do
BUILD_JSON=$(az pipelines build show \
--id $BUILD_ID \
--organization ${{ env.ado-org }} \
--project ${{ env.ado-project }} \
--output json)

BUILD_STATUS=$(echo "$BUILD_JSON" | jq -r '.status')
BUILD_RESULT_STATUS=$(echo "$BUILD_JSON" | jq -r '.result // "none"')

echo "Current status: $BUILD_STATUS, Result: $BUILD_RESULT_STATUS"

# Check if build is completed
if [ "$BUILD_STATUS" = "completed" ]; then
echo "Build completed with result: $BUILD_RESULT_STATUS"

# Check if the build was successful
if [ "$BUILD_RESULT_STATUS" = "succeeded" ]; then
echo "✅ ADO pipeline build succeeded!"
exit 0
elif [ "$BUILD_RESULT_STATUS" = "partiallySucceeded" ]; then
echo "⚠️ ADO pipeline build partially succeeded"
exit 1
else
echo "❌ ADO pipeline build failed with result: $BUILD_RESULT_STATUS"
exit 1
fi
fi

# Check for other terminal states
if [ "$BUILD_STATUS" = "cancelling" ] || [ "$BUILD_STATUS" = "cancelled" ]; then
echo "❌ ADO pipeline build was cancelled"
exit 1
fi

# Wait 60 seconds before checking again
echo "Build still running... waiting 60 seconds"
sleep 60
done
61 changes: 59 additions & 2 deletions .github/workflows/TriggerExtensionRelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
client-id: ${{ secrets.ADO_SP_ClientID }}
tenant-id: ${{ secrets.ADO_SP_TenantID }}
allow-no-subscriptions: true
- name: Azure CLI
- name: Trigger ADO Pipeline and Wait for Completion
uses: azure/cli@v2
env:
ado-org: ${{secrets.ADO_ORGANIZATION}}
Expand All @@ -35,4 +35,61 @@ jobs:
commit-id: ${{ github.sha }}
with:
inlineScript: |
az pipelines build queue --definition-id ${{ env.ado-pipeline-id }} --organization ${{ env.ado-org }} --project ${{ env.ado-project }} --variables commit_id=${{ env.commit-id }}
# Trigger the pipeline and capture the build ID
echo "Triggering ADO pipeline..."
BUILD_RESULT=$(az pipelines build queue \
--definition-id ${{ env.ado-pipeline-id }} \
--organization ${{ env.ado-org }} \
--project ${{ env.ado-project }} \
--variables commit_id=${{ env.commit-id }} \
--output json)

BUILD_ID=$(echo $BUILD_RESULT | jq -r '.id')
echo "Pipeline triggered with Build ID: $BUILD_ID"

if [ "$BUILD_ID" = "null" ] || [ -z "$BUILD_ID" ]; then
echo "Failed to get build ID from pipeline trigger"
exit 1
fi

# Wait for the build to complete
echo "Waiting for build $BUILD_ID to complete..."
while true; do
BUILD_JSON=$(az pipelines build show \
--id $BUILD_ID \
--organization ${{ env.ado-org }} \
--project ${{ env.ado-project }} \
--output json)

BUILD_STATUS=$(echo "$BUILD_JSON" | jq -r '.status')
BUILD_RESULT_STATUS=$(echo "$BUILD_JSON" | jq -r '.result // "none"')

echo "Current status: $BUILD_STATUS, Result: $BUILD_RESULT_STATUS"

# Check if build is completed
if [ "$BUILD_STATUS" = "completed" ]; then
echo "Build completed with result: $BUILD_RESULT_STATUS"

# Check if the build was successful
if [ "$BUILD_RESULT_STATUS" = "succeeded" ]; then
echo "✅ ADO pipeline build succeeded!"
exit 0
elif [ "$BUILD_RESULT_STATUS" = "partiallySucceeded" ]; then
echo "⚠️ ADO pipeline build partially succeeded"
exit 1
else
echo "❌ ADO pipeline build failed with result: $BUILD_RESULT_STATUS"
exit 1
fi
fi

# Check for other terminal states
if [ "$BUILD_STATUS" = "cancelling" ] || [ "$BUILD_STATUS" = "cancelled" ]; then
echo "❌ ADO pipeline build was cancelled"
exit 1
fi

# Wait 60 seconds before checking again
echo "Build still running... waiting 60 seconds"
sleep 60
done
40 changes: 40 additions & 0 deletions linter_exclusions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3402,3 +3402,43 @@ eventgrid namespace topic update:
event_retention_in_days:
rule_exclusions:
- option_length_too_long

neon postgres endpoint create:
rule_exclusions:
- missing_command_example

neon postgres neon-role create:
rule_exclusions:
- missing_command_example

neon postgres neon-database create:
rule_exclusions:
- missing_command_example

neon postgres get-postgres-version:
rule_exclusions:
- missing_command_example

neon postgres branch:
rule_exclusions:
- require_wait_command_if_no_wait

neon postgres endpoint:
rule_exclusions:
- require_wait_command_if_no_wait

neon postgres neon-database:
rule_exclusions:
- require_wait_command_if_no_wait

neon postgres neon-role:
rule_exclusions:
- require_wait_command_if_no_wait

neon postgres organization:
rule_exclusions:
- require_wait_command_if_no_wait

neon postgres project:
rule_exclusions:
- require_wait_command_if_no_wait
25 changes: 22 additions & 3 deletions scripts/ci/azdev_linter_style.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,27 @@ def azdev_on_external_extension(index_json, azdev_type):
with open(index_json, 'r') as fd:
current_extensions = json.loads(fd.read()).get("extensions")

def entry_equals_ignore_url(entry1, entry2):
"""Compare two entries ignoring downloadUrl field"""
entry1_copy = entry1.copy()
entry2_copy = entry2.copy()
entry1_copy.pop('downloadUrl', None)
entry2_copy.pop('downloadUrl', None)
return entry1_copy == entry2_copy

for name in current_extensions:
modified_entries = [entry for entry in current_extensions[name] if entry not in public_extensions.get(name, [])]
public_entries = public_extensions.get(name, [])

# Find modified entries by comparing without downloadUrl
modified_entries = []
for entry in current_extensions[name]:
is_modified = True
for public_entry in public_entries:
if entry_equals_ignore_url(entry, public_entry):
is_modified = False
break
if is_modified:
modified_entries.append(entry)

if not modified_entries:
continue
Expand All @@ -204,7 +223,7 @@ def azdev_on_external_extension(index_json, azdev_type):
# azdev test support external extension
# azdev_extension.style()

logger.info('Checking service name for external extensions')
logger.info('Checking service name for external extensions: %s', name)
service_name.check()

az_extension.remove()
Expand Down Expand Up @@ -245,7 +264,7 @@ def azdev_on_internal_extension(modified_files, azdev_type):
logger.error(statement_msg)
exit(1)

logger.info('Checking service name for internal extensions')
logger.info('Checking service name for internal extensions: %s', name)
service_name.check()

azdev_extension.remove()
Expand Down
Loading
Loading