Skip to content

Commit e3d99dc

Browse files
author
annie-mac
committed
Merge branch 'main' into sparkEndLSNImprovement
2 parents 6069d9e + 3f39dad commit e3d99dc

File tree

328 files changed

+4041
-4048
lines changed

Some content is hidden

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

328 files changed

+4041
-4048
lines changed

.github/CODEOWNERS

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,28 +32,28 @@
3232
# ######## Core Libraries ########
3333

3434
# PRLabel: %Azure.Core
35-
/sdk/core/ @alzimmermsft @samvaity @srnagar @anuchandy @lmolkova @vcolin7 @jonathangiles @Azure/azure-java-sdk
35+
/sdk/core/ @alzimmermsft @samvaity @srnagar @anuchandy @vcolin7 @jonathangiles @Azure/azure-java-sdk
3636

3737
# ServiceLabel: %Azure.Core
3838
# AzureSdkOwners: @alzimmermsft @samvaity
3939

4040
# PRLabel: %Azure.Core.V2
41-
/sdk/core-v2/ @alzimmermsft @samvaity @srnagar @anuchandy @lmolkova @vcolin7 @jonathangiles @Azure/azure-java-sdk
41+
/sdk/core-v2/ @alzimmermsft @samvaity @srnagar @anuchandy @vcolin7 @jonathangiles @Azure/azure-java-sdk
4242

4343
# ServiceLabel: %Azure.Core.V2
4444
# AzureSdkOwners: @alzimmermsft @samvaity
4545

4646
# PRLabel: %Azure.Core.AMQP
47-
/sdk/core/azure-core-amqp/ @anuchandy @conniey @lmolkova @Azure/azure-java-sdk
47+
/sdk/core/azure-core-amqp/ @anuchandy @conniey @Azure/azure-java-sdk
4848

4949
# ServiceLabel: %Azure.Core.AMQP
50-
# AzureSdkOwners: @anuchandy @conniey @lmolkova
50+
# AzureSdkOwners: @anuchandy @conniey
5151

5252
# PRLabel: %OpenTelemetry
53-
/sdk/core/azure-core-tracing-opentelemetry/ @lmolkova @trask @Azure/azure-java-sdk
53+
/sdk/core/azure-core-tracing-opentelemetry/ @trask @Azure/azure-java-sdk
5454

5555
# ServiceLabel: %OpenTelemetry
56-
# AzureSdkOwners: @lmolkova
56+
# AzureSdkOwners: @jonathangiles
5757
# ServiceOwners: @trask @ramthi @jeanbisutti @harsimar @rajkumar-rangaraj @xiang17
5858

5959
# PRLabel: %Azure.Core
@@ -98,9 +98,6 @@
9898
# AzureSdkOwners: @alzimmermsft
9999
# ServiceOwners: @shenmuxiaosen @avanigupta
100100

101-
# ServiceLabel: %Application Insights
102-
# ServiceOwners: @azmonapplicationinsights
103-
104101
# ServiceLabel: %App Services
105102
# ServiceOwners: @antcp @AzureAppServiceCLI
106103

@@ -349,10 +346,10 @@
349346
# ServiceOwners: @macolso
350347

351348
# PRLabel: %Container Registry
352-
/sdk/containerregistry/ @lmolkova @alzimmermsft @Azure/azsdk-acr @Azure/azure-java-sdk
349+
/sdk/containerregistry/ @alzimmermsft @Azure/azsdk-acr @Azure/azure-java-sdk
353350

354351
# ServiceLabel: %Container Registry
355-
# AzureSdkOwners: @lmolkova
352+
# AzureSdkOwners: @Azure/azure-java-sdk
356353
# ServiceOwners: @toddysm @northtyphoon
357354

358355
# ServiceLabel: %Container Service
@@ -461,17 +458,17 @@
461458
# ServiceOwners: @berndverst @kaibocai @torosent @RyanLettieri @philliphoff @cgillum
462459

463460
# PRLabel: %Event Grid
464-
/sdk/eventgrid/ @samvaity @srnagar @lmolkova @Azure/azure-java-sdk
461+
/sdk/eventgrid/ @samvaity @srnagar @Azure/azure-java-sdk
465462

466463
# ServiceLabel: %Event Grid
467464
# AzureSdkOwners: @Kishp01 @shankarsama @rajeshka
468465
# ServiceOwners: @Kishp01 @shankarsama @rajeshka
469466

470467
# PRLabel: %Event Hubs
471-
/sdk/eventhubs/ @conniey @anuchandy @lmolkova @Azure/azure-java-sdk
468+
/sdk/eventhubs/ @conniey @anuchandy @Azure/azure-java-sdk
472469

473470
# ServiceLabel: %Event Hubs
474-
# AzureSdkOwners: @conniey @anuchandy @lmolkova
471+
# AzureSdkOwners: @conniey @anuchandy
475472
# ServiceOwners: @serkantkaraca @sjkwak
476473

477474
# PRLabel: %Event Hubs
@@ -565,7 +562,7 @@
565562
# ServiceLabel: %Machine Learning Experimentation
566563
# ServiceOwners: @aashishb
567564

568-
# ServiceLabel: %Managed Services
565+
# ServiceLabel: %ManagedServices
569566
# ServiceOwners: @Lighthouse-Azure
570567

571568
# ServiceLabel: %MariaDB
@@ -609,7 +606,7 @@
609606
# ServiceOwners: @SameergMS @dadunl @AzMonEssential @AzmonAlerts @AzmonActionG @AzmonLogA
610607

611608
# ServiceLabel: %Monitor - ApplicationInsights
612-
# ServiceOwners: @azmonapplicationinsights
609+
# ServiceOwners: @regexrowboat
613610

614611
# ServiceLabel: %MySQL
615612
# ServiceOwners: @ambhatna @savjani
@@ -764,11 +761,11 @@
764761
# ServiceOwners: @amirkeren
765762

766763
# ServiceLabel: %Service Bus
767-
# AzureSdkOwners: @anuchandy @conniey @lmolkova
764+
# AzureSdkOwners: @anuchandy @conniey
768765
# ServiceOwners: @EldertGrootenboer
769766

770767
# PRLabel: %Service Bus
771-
/sdk/servicebus/ @anuchandy @conniey @lmolkova @Azure/azure-java-sdk
768+
/sdk/servicebus/ @anuchandy @conniey @Azure/azure-java-sdk
772769

773770
# PRLabel: %Service Bus %Track 1
774771
/sdk/servicebus/microsoft-azure-servicebus/ @shankarsama @yvgopal
@@ -943,6 +940,7 @@
943940
/eng/automation/ @weidongxu-microsoft @haolingdong-msft @XiaofeiCao @arthurma1978 @raych1 @weshaggard @benbp
944941
/eng/bomgenerator/ @vcolin7 @alzimmermsft @srnagar @jonathangiles @Azure/azure-java-sdk
945942
/eng/code-quality-reports/ @JonathanGiles @alzimmermsft @srnagar @rujche @netyyyy @saragluna @moarychan @Azure/azure-java-sdk
943+
/eng/lintingconfigs/ @JonathanGiles @alzimmermsft @srnagar @rujche @netyyyy @saragluna @moarychan @Azure/azure-java-sdk
946944
/eng/common/ @Azure/azure-sdk-eng
947945
/eng/versioning/ @alzimmermsft @samvaity @g2vinay @Azure/azure-java-sdk
948946
/eng/versioning/external_dependencies.txt @alzimmermsft @samvaity @g2vinay @jonathangiles @rujche @netyyyy @saragluna @moarychan @Azure/azure-java-sdk
@@ -957,7 +955,7 @@
957955

958956
# Add owners for notifications for specific pipelines
959957
/eng/pipelines/aggregate-reports.yml @joshfree @jonathangiles @Azure/azure-java-sdk
960-
/eng/common/pipelines/codeowners-linter.yml @alzimmermsft @srnagar @lmolkova @Azure/azure-java-sdk
958+
/eng/common/pipelines/codeowners-linter.yml @alzimmermsft @srnagar @Azure/azure-java-sdk
961959
/eng/pipelines/docindex.yml @danieljurek @raych1 @weshaggard @benbp
962960

963961
# Add Cosmos source owners as the owners of their specialized matrix

.github/CODEOWNERS_baseline_errors.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ taiwu is an invalid user. Ensure the user exists, is public member of Azure and
1111
minghan is an invalid user. Ensure the user exists, is public member of Azure and has write permissions.
1212
miaojiang is an invalid user. Ensure the user exists, is public member of Azure and has write permissions.
1313
shenmuxiaosen is an invalid user. Ensure the user exists, is public member of Azure and has write permissions.
14-
'Application Insights' is not a valid label for this repository.
1514
azmonapplicationinsights is an invalid user. Ensure the user exists, is public member of Azure and has write permissions.
1615
antcp is an invalid user. Ensure the user exists, is public member of Azure and has write permissions.
1716
AzureAppServiceCLI is an invalid user. Ensure the user exists, is public member of Azure and has write permissions.
@@ -155,7 +154,6 @@ minamnmik is an invalid user. Ensure the user exists, is public member of Azure
155154
varunkch is an invalid user. Ensure the user exists, is public member of Azure and has write permissions.
156155
azureml-github is an invalid user. Ensure the user exists, is public member of Azure and has write permissions.
157156
aashishb is an invalid user. Ensure the user exists, is public member of Azure and has write permissions.
158-
'Managed Services' is not a valid label for this repository.
159157
Lighthouse-Azure is an invalid user. Ensure the user exists, is public member of Azure and has write permissions.
160158
ambhatna is an invalid user. Ensure the user exists, is public member of Azure and has write permissions.
161159
savjani is an invalid user. Ensure the user exists, is public member of Azure and has write permissions.

eng/common/instructions/azsdk-tools/typespec-to-sdk.instructions.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,19 +88,29 @@ Your goal is to guide user through the process of generating SDKs from TypeSpec
8888
**Actions**:
8989
1. Run `GetSDKPullRequestDetails` to fetch generated SDK PR info.
9090

91-
## Step 9: Create release plan
91+
## Step 9: Validate Label and Codeowners
92+
**Goal**: Validate the label and all codeowners for a service. Create new label and codeowner entry if none exist.
93+
**Actions**:
94+
1. To validate a service label refer to #file:./validate-service-label.instructions.md
95+
2. After service label is validated or created refer to #file:./validate-codeowners.instructions.md
96+
3. Handle post-validation actions based on results:
97+
- **If both label and codeowners were already valid**: Prompt user "Your service label and codeowners are already properly configured. Would you like to modify the existing codeowners entry for your service?"
98+
- **If new label or codeowner entries were created**: Display details of the label and codeowners PR if they were created, then prompt user "The following PRs have been created for your service configuration: [list PRs]. Would you like to make any additional modifications to these entries?"
99+
**Success Criteria**: Service label exists and codeowners are properly configured with at least 2 valid owners. For created entries, showcase all PR's.
100+
101+
## Step 10: Create release plan
92102
**Goal**: Create a release plan for the generated SDKs
93103
**Actions**:
94104
1. Refer to #file:create-release-plan.instructions.md to create a release plan using the spec pull request.
95105
2. If the release plan already exists, display the existing plan details.
96106

97-
## Step 10: Mark Spec PR as Ready for Review
107+
## Step 11: Mark Spec PR as Ready for Review
98108
**Goal**: Update spec PR to ready for review status
99109
**Actions**:
100110
1. Prompt user to change spec PR to ready for review: "Please change the spec pull request to ready for review status"
101111
2. Get approval and merge the spec PR
102112

103-
## Step 11: Release SDK Package
113+
## Step 12: Release SDK Package
104114
**Goal**: Release the SDK package using the release plan
105115
**Actions**:
106116
1. Run `ReleaseSdkPackage` to release the SDK package.
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
---
2+
mode: 'agent'
3+
tools: ['azsdk_check_service_label', 'azsdk_engsys_validate_codeowners_entry_for_service', 'azsdk_engsys_codeowner_update']
4+
---
5+
6+
## Goal:
7+
Validate service label and ensure at least 2 valid code owners exist for SDK repositories.
8+
9+
## Step 1: Validate Service Label
10+
Use `azsdk_check_service_label` to verify the service label exists:
11+
- **DoesNotExist/NotAServiceLabel**: Direct user to create valid service label first. Stop validation process until service label is created.
12+
- **Exists/InReview**: Proceed to Step 2
13+
14+
## Step 2: Validate Code Owners
15+
Ask user to specify SDK repository they want to validate codeowners for or detect from context.
16+
17+
Repository name mapping:
18+
- .NET/dotnet: use "azure-sdk-for-net"
19+
- Python: use "azure-sdk-for-python"
20+
- Java: use "azure-sdk-for-java"
21+
- JavaScript: use "azure-sdk-for-js"
22+
- Go: use "azure-sdk-for-go"
23+
24+
Use `azsdk_engsys_validate_codeowners_entry_for_service` with either `serviceLabel` OR `repoPath` or both, but at least one must be used. If one isn't provided, leave the parameter field empty.
25+
26+
**If entry exists**: Go to Step 3
27+
**If no entry exists**: Go to Step 4
28+
29+
## Step 3: Check Existing Code Owners
30+
Valid code owners must be:
31+
- PUBLIC members of Microsoft and Azure GitHub organizations
32+
- Have write access to the SDK repository
33+
34+
**If at least 2 valid owners**: Success - optionally add or delete additional owners
35+
**If less than 2 valid owners**: CRITICAL - must fix before proceeding:
36+
37+
After any changes, re-validate with `azsdk_engsys_validate_codeowners_entry_for_service`.
38+
39+
## Step 4: Create New Code Owner Entry
40+
When no CODEOWNERS entry exists yet:
41+
1. Ensure you have the following information
42+
- repo - **Required** - Repository name mapping:
43+
- .NET/dotnet: use "azure-sdk-for-net"
44+
- Python: use "azure-sdk-for-python"
45+
- Java: use "azure-sdk-for-java"
46+
- JavaScript: use "azure-sdk-for-js"
47+
- Go: use "azure-sdk-for-go"
48+
- typeSpecProjectRoot - **Optional** This should be acquired only if the information is present in the previous chat history, if not, ignore and input `""`.
49+
- path - **Optional** only if there is a service label and we're not making a new entry - This should be acquired when creating a new code owner entry, if no information is present ask the user. Typically looks like `/sdk/projectpath`
50+
- serviceLabel - **Optional** only if there is a path and we're not making a new entry - This should be acquired from the previous step of Check or Create Service Label.
51+
- serviceOwners - **Optional** if no ServiceLabel is present. Can be either owners to add or delete, depending on isAdding.
52+
- sourceOwners - **Optional** if no path or PRLabel are present. Can be either owners to add or delete, depending on isAdding.
53+
- isAdding - **Required** Should be true if adding owners to an existing entry, false if deleting owners from an existing entry. Should also be false when adding a brand new entry.
54+
1. Provide information to the user about what codeowners is for:
55+
- [Learn about CODEOWNERS](https://eng.ms/docs/products/azure-developer-experience/develop/supporting-sdk-customers/overview)
56+
- Service owners is for getting mentioned on issues.
57+
- Source owners is for getting mentioned in PRs.
58+
2. Collect service owners and source owners (GitHub usernames)
59+
3. Use `azsdk_engsys_codeowner_update` with required parameters
60+
4. Must have at least 2 valid owners from the start
61+
62+
### Fix Options:
63+
1. **Fix invalid owners** - If there are invalid owners after modifing the CODEOWNERS file ALWAYS provide guidance.
64+
Follow instructions [here](https://aka.ms/azsdk/access) for:
65+
- Joining Microsoft and Azure GitHub orgs
66+
- Setting public visibility
67+
- Requesting write access
68+
2. **Add new owners** using `azsdk_engsys_codeowner_update` with `isAdding: true`
69+
3. **Remove invalid + add valid** owners using `azsdk_engsys_codeowner_update`
70+
71+
## Requirements
72+
- **MINIMUM**: At least 2 valid code owners at all times
73+
- **NO EXCEPTIONS**: Cannot proceed with insufficient owners
74+
- **RESPONSE HANDLING**: If any exception occurs during validation or creation, ALWAYS provide documentation link [Codeowners documentation](https://eng.ms/docs/products/azure-developer-experience/develop/supporting-sdk-customers/codeowners)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
mode: 'agent'
3+
tools: ['azsdk_check_service_label', 'azsdk_create_service_label']
4+
---
5+
6+
## Goal
7+
Validate service label exists or create new one for SDK release process.
8+
9+
## Step 1: Get Service Label
10+
Ask user for their service label. If none provided, explain that a valid service label is required for SDK release.
11+
12+
## Step 2: Validate Label
13+
Use `azsdk_check_service_label` to check status:
14+
15+
- **Exists**: Success - user can proceed with next steps in SDK release process
16+
- **InReview**: Label pending approval - user can proceed (will be available once merged)
17+
- **DoesNotExist**: Go to Step 3 to create new label
18+
- **NotAServiceLabel**: Label exists but it is not a service label - go to Step 3 for new service label
19+
20+
## Step 3: Create New Service Label
21+
If no valid service label exists, guide the user through creating a new one.
22+
23+
1. **Check existing labels**: Search for related service labels, offer alternatives
24+
2. **Generate recommendation**: Suggest label name following guidelines:
25+
- No "Microsoft/Azure" in name
26+
- Title Case (except short prepositions)
27+
- Avoid Service Groups: Use "Communication Rooms" instead of "Communication - Rooms"
28+
- Single label per service
29+
3. **Get confirmation**: User confirms or modifies suggested name
30+
4. **Create label**: Use `azsdk_create_service_label` with confirmed name and documentation link given by user
31+
32+
Inform user they can proceed.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
parameters:
2+
ConfigFileDir: ''
3+
PackageArtifactName: ''
4+
SourceRootPath: $(Build.SourcesDirectory)
5+
6+
steps:
7+
- task: AzureCLI@2
8+
inputs:
9+
azureSubscription: opensource-api-connection
10+
scriptType: pscore
11+
scriptLocation: scriptPath
12+
scriptPath: ${{ parameters.SourceRootPath }}/eng/common/scripts/Mark-ReleasePlanCompletion.ps1
13+
arguments: -PackageInfoFilePath '${{ parameters.ConfigFileDir }}/${{ parameters.PackageArtifactName }}.json'
14+
workingDirectory: $(Pipeline.Workspace)
15+
displayName: Mark package as released
16+
continueOnError: true
17+
condition: and(succeeded(), ne(variables['Skip.MarkReleaseCompletion'], 'true'))

eng/common/scripts/ChangeLog-Operations.ps1

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ function Get-ChangeLogEntriesFromContent {
5252
$sectionHeaderRegex = "^${initialAtxHeader}${SECTION_HEADER_REGEX_SUFFIX}"
5353
$changeLogEntries | Add-Member -NotePropertyName "InitialAtxHeader" -NotePropertyValue $initialAtxHeader
5454
$releaseTitleAtxHeader = $initialAtxHeader + "#"
55+
$headerLines = @()
5556

5657
try {
5758
# walk the document, finding where the version specifiers are and creating lists
@@ -83,13 +84,18 @@ function Get-ChangeLogEntriesFromContent {
8384

8485
$changeLogEntry.ReleaseContent += $line
8586
}
87+
else {
88+
$headerLines += $line
89+
}
8690
}
8791
}
8892
}
8993
catch {
9094
Write-Error "Error parsing Changelog."
9195
Write-Error $_
9296
}
97+
98+
$changeLogEntries | Add-Member -NotePropertyName "HeaderBlock" -NotePropertyValue ($headerLines -Join [Environment]::NewLine)
9399
return $changeLogEntries
94100
}
95101

@@ -265,8 +271,13 @@ function Set-ChangeLogContent {
265271
)
266272

267273
$changeLogContent = @()
268-
$changeLogContent += "$($ChangeLogEntries.InitialAtxHeader) Release History"
269-
$changeLogContent += ""
274+
if ($ChangeLogEntries.HeaderBlock) {
275+
$changeLogContent += $ChangeLogEntries.HeaderBlock
276+
}
277+
else {
278+
$changeLogContent += "$($ChangeLogEntries.InitialAtxHeader) Release History"
279+
$changeLogContent += ""
280+
}
270281

271282
$ChangeLogEntries = Sort-ChangeLogEntries -changeLogEntries $ChangeLogEntries
272283

eng/common/scripts/Helpers/DevOps-WorkItem-Helpers.ps1

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1051,7 +1051,8 @@ function Get-ReleasePlanForPackage($packageName)
10511051
$fieldList = ($fields | ForEach-Object { "[$_]"}) -join ", "
10521052
$query = "SELECT ${fieldList} FROM WorkItems WHERE [Work Item Type] = 'Release Plan' AND [${packageNameFieldName}] = '${packageName}'"
10531053
$query += " AND [${prStatusFieldName}] = 'merged'"
1054-
$query += " AND [System.State] IN ('In Progress') ORDER BY [System.CreatedDate]"
1054+
$query += " AND [System.State] IN ('In Progress')"
1055+
$query += " AND [System.Tags] NOT CONTAINS 'Release Planner App Test'"
10551056
$workItems = Invoke-Query $fields $query
10561057
return $workItems
10571058
}

0 commit comments

Comments
 (0)