Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rhurey/ia merge latest main #25990

Merged
merged 71 commits into from
Sep 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
b253e33
[TypeSpec] Upgrade to 0.48.0 (#25797)
mikeharder Sep 14, 2023
efbe157
Move 2020-06-30 from prreview to stable (#25788)
sazeesha098 Sep 14, 2023
eeac7c8
Update readme.python.md (#25787)
ChenxiJiang333 Sep 15, 2023
82e7e30
Update readme.python.md (#25808)
ChenxiJiang333 Sep 15, 2023
35bc964
[Azure Cognitive Search] New API version 2023-10-01-Preview (#25657)
Careyjmac Sep 15, 2023
eb88b73
add asm- prefix to upgrades field on mesh ops (#25600)
SanyaKochhar Sep 15, 2023
78a1114
Adding the x-ms-pageable extension for rulestack POST list APIs. (#25…
praval-microsoft Sep 15, 2023
b566117
[Hub Generated] Review request for Microsoft.RecoveryServices to add …
prsadhu-ms-idc Sep 15, 2023
def187e
Restructured folder (#25623)
sayeedalam-microsoft Sep 16, 2023
4c2f6b9
corrective change (#25748)
rheabansal Sep 18, 2023
79e0974
Alec baird desktopvirtualization microsoft.desktop virtualization 202…
alec-baird Sep 18, 2023
35c7876
ARG Query Generation API in 2023-09-01-preview (#25699)
visingla-ms Sep 18, 2023
1fc7fb0
[ACR] Mark all endpoints as deprecated for 3 oldest preview API's (#2…
sindhuselvaraj Sep 18, 2023
3066c59
[TypeSpec Validation] Skip deleted folders in Get-TypeSpec-Folders.ps…
ckairen Sep 18, 2023
c826a78
[Hub Generated] Publish private branch 'azure-kusto/devCM' (#25434)
michaelshikh07 Sep 18, 2023
d310a1a
[Hub Generated] Review request for Microsoft.AlertsManagement to add …
noneumar Sep 18, 2023
79d4b87
[TypeSpec Validation] Remove duplicate error messages in Get-TypeSpec…
ckairen Sep 18, 2023
8919b2a
Add missing api version for python sdk. (#25672)
jikuma Sep 19, 2023
88df061
java configure, mgmt, playwright, client name (#25854)
weidongxu-microsoft Sep 19, 2023
1d5799e
[App Configuration] Introduce API version 2023-10-01 (#25454)
jimmyca15 Sep 19, 2023
16f827b
Updated Rooms Readme to use latest API version as default (#25835)
mikehang-msft Sep 19, 2023
4fea252
Renaming MPCNetwork to follow the typespec convention (#25821)
ckairen Sep 19, 2023
916b035
rename healthInsights (#25810)
ckairen Sep 19, 2023
6c4fc92
[Hub Generated] Publish private branch 'tbyfield-devcenter-Microsoft.…
tbyfield Sep 19, 2023
270eeb7
[Hub Generated] Review request for Microsoft.Help to add version prev…
sahilpwr Sep 19, 2023
de06c42
[TypeSpec Validation] verify folder structure (#25712)
ckairen Sep 19, 2023
0d7b535
fix x-ms-mutability (#25825)
xiaoxuqi-ms Sep 20, 2023
1e00970
[Hub Generated] Review request for Microsoft.ContainerService/aks to …
FumingZhang Sep 20, 2023
77594f1
Release release sentinel microsoft.security insights 2023 09 01 previ…
xuhumsft Sep 20, 2023
fa285f5
[Hub Generated] Review request for Microsoft.DocumentDB to add versio…
niteshvijay1995 Sep 20, 2023
75ecd73
Changed data type from uuid to string in API response (#25867)
venkatr21 Sep 20, 2023
a66833c
Azure OpenAI: minimal, partial specification for Whisper transcriptio…
trrwilson Sep 20, 2023
c019549
Updating the Azure Search code owners (#25842)
conor-joplin Sep 20, 2023
e3feacb
in-place rename of prompt_annotations to prompt_filter_results (#25880)
trrwilson Sep 20, 2023
0f3f801
[OpenAI] Update swagger with latest TypeSpec (#25883)
mikeharder Sep 20, 2023
13f0922
Rename Microsoft.StorageTasks to Microsoft.StorageActions (#25847)
HimanshuChhabra Sep 20, 2023
ae076e2
[Hub Generated] Review request for Microsoft.AlertsManagement to add …
moshemal Sep 20, 2023
b66b574
Updated readme.md for openapi subtype (#25884)
mjmadhu Sep 20, 2023
2107412
Wwendyc playwrighttesting microsoft.azure playwright service 2023 10 …
mjmadhu Sep 21, 2023
6d479c6
[Cdn] Add new preview API: 2023-07-01-preview (#24387)
jessicl-ms Sep 21, 2023
68d03f9
Wwendyc playwrighttesting microsoft.azure playwright service 2023 10 …
mjmadhu Sep 21, 2023
90247ef
managedapplications servicename (#25892)
XiaofeiCao Sep 21, 2023
31cdecc
Fix serviceOperation version for 2023-06-01-preview (#25875)
xiaoxuqi-ms Sep 21, 2023
7fdf993
[Hub Generated] Review request for Microsoft.ConnectedVMwarevSphere t…
aronip Sep 21, 2023
89b513c
2023-10-01-preview API Review feedback fixes (#25862)
Careyjmac Sep 21, 2023
be047b5
Update readme.java.md (#25921)
haolingdong-msft Sep 22, 2023
c05d231
Update cosmos-db.json to add type to operation (#25905)
vchske Sep 22, 2023
9307ada
Release elasticsan microsoft.elastic san 2023 01 01 ga (#25687)
PreetPRG Sep 22, 2023
4fa739f
[Hub Generated] Review request for Microsoft.DocumentDB to add versio…
rsharm7 Sep 22, 2023
1d7059d
Adding Provisioning,PendingCommit values in the ConfigurationState.. …
Mohana-Krishna-Nali Sep 22, 2023
31d99df
Update `workflows/comment.yml`: add exponential backoff to adding `Me…
Sep 23, 2023
481dd4e
[TypeSpec Validation] Add "specification/common-types" to triggers (#…
mikeharder Sep 23, 2023
24c9b5a
[Hub Generated] Review request for Microsoft.ConfidentialLedger to ad…
PallabPaul Sep 23, 2023
06479e8
update typescript.md (#25679)
kazrael2119 Sep 25, 2023
15042f5
Update bms.json (#25829)
HarveyLink Sep 25, 2023
68c5002
[BugFix] Add "ExtendedLocation" property in IaasVMRestorePoint (#25713)
viananth Sep 25, 2023
f468686
Remove iotsecurity apis from public repo (#25686)
HassanBadir Sep 25, 2023
7b6f247
[Hub Generated] Review request for Microsoft.DataProtection to add ve…
jeevan-gaikwad Sep 25, 2023
798af6c
Update CODEOWNERS (#25914)
wiboris Sep 25, 2023
68e462d
Remove BYO resource registry examples and add comments in description…
milesizydorczak12 Sep 26, 2023
3f4960b
AKS Fleet 2023 08 15 preview (#25756)
zman-ms Sep 26, 2023
85d0d6c
update examples to reflect accurate mg schema (#25910)
jago2136 Sep 26, 2023
63c36a5
[Azure Maps] Data V1/V2 retirement banner (#25926)
chcmsft Sep 26, 2023
e835d10
Support AAD Auth in EventGrid data plane client (#25935)
batrived Sep 26, 2023
3eb9ec8
Jsedlak microsoft languages (#25933)
jsedlak-microsoft Sep 27, 2023
466092d
New API version for Microsoft.Datadog RP (#24495)
vikotha Sep 27, 2023
658830c
Brrusino chaos microsoft.chaos 2023 09 01 preview (#25708)
brrusino Sep 27, 2023
70d1faf
Service Fabric Managed Clusters - api version 2023-09-01-preview (#25…
a-santamaria Sep 27, 2023
74948e5
add or modify files (#25832)
afekhazan Sep 27, 2023
9b0cab3
update firewall rule name regex (#25871)
xiaoxuqi-ms Sep 27, 2023
0a29e42
Merge remote-tracking branch 'origin/main' into rhurey/ia_update
rhurey Sep 27, 2023
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
  •  
  •  
  •  
45 changes: 35 additions & 10 deletions .github/workflows/comment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,51 @@ jobs:
- name: Process comment
shell: pwsh
run: |
$payload = echo $env:PAYLOAD | ConvertFrom-Json -AsHashtable
$payload = Write-Output $env:PAYLOAD | ConvertFrom-Json -AsHashtable
if (!$payload.comment -or !$payload.comment.body) {
Write-Host "Empty comment, returning..."
Write-Host "Skipping: empty comment."
return
}
$body = $payload.comment.body.Trim().ToLowerInvariant()
$expected = '/pr requestmerge'
if ($body -ne $expected) {
Write-Host "Comment did not equal '$expected', skipping..."
Write-Host "Skipping: comment did not equal '$expected'."
return
}
$label = 'MergeRequested'
Write-Host "gh pr edit $($payload.issue.number) --add-label `"$label`""
gh pr edit $payload.issue.html_url --add-label "$label"
if ($LASTEXITCODE) {
Write-Warning "Failed to add label"
exit $LASTEXITCODE

$retryCount = 0
$maxRetries = 5
$retryDelay = 5 # Initial retry delay in seconds

while ($retryCount -lt $maxRetries) {

Write-Host "Attempt $($retryCount+1) out of $($maxRetries): gh pr edit $($payload.issue.number) --add-label `"$label`""
gh pr edit $payload.issue.html_url --add-label "$label"

if ($LASTEXITCODE -eq 0) {
Write-Host "Label added successfully on attempt $($retryCount+1) out of $($maxRetries)."
break
} else {
Write-Warning "Failed to add label on attempt $($retryCount+1) out of $($maxRetries)."
$retryCount++
if ($retryCount -lt $maxRetries) {
# $retryDelay = 5 exponential backoff in seconds:
# attempt 2: 5 = 1*5
# attempt 3: 10 = 2*5
# attempt 4: 20 = 4*5
# attempt 5: 40 = 8*5
Write-Host "Sleeping for $retryDelay seconds..."
Start-Sleep -Seconds $retryDelay
$retryDelay = $retryDelay * 2
}
}
}

if ($retryCount -ge $maxRetries) {
Write-Error "Max retry attempts of $maxRetries exhausted. Exiting with error ('exit 1')."
exit 1
}
env:
PAYLOAD: ${{ toJson(github.event) }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}


6 changes: 3 additions & 3 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
/specification/azsadmin/ @deathly809

# PRLabel: %Batch
/specification/batch/ @jingjlii @paterasMSFT @dpwatrous
/specification/batch/ @wiboris @dpwatrous @skapur12 @cRui861 @wanghoppe

# PRLabel: %BatchAI
/specification/batchai/ @alexanderyukhanov
Expand Down Expand Up @@ -204,10 +204,10 @@
/specification/scheduler/ @pinwang81

# PRLabel: %Search
/specification/search/data-plane/ @arv100kri @bleroy @AlexGhiondea @Mohit-Chakraborty @Azure/api-stewardship-board
/specification/search/data-plane/ @arv100kri @bleroy @Azure/api-stewardship-board @BevLoh @giulianob

# PRLabel: %Search
/specification/search/resource-manager/ @abhi1509 @tjacobhi
/specification/search/resource-manager/ @tjacobhi @conor-joplin @BevLoh

/specification/serialconsole/ @amitchat @craigw @asinn826

Expand Down
7 changes: 6 additions & 1 deletion custom-words.txt
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ appendpos
appfigures
appid
appinsights
Applicationkey
applynetworkconfigurationupdates
appservice
appsettings
Expand Down Expand Up @@ -848,6 +849,7 @@ endoftext
endpointkeys
endpointname
endswith
Entra
endtime
enein
engagementfabric
Expand Down Expand Up @@ -1344,6 +1346,7 @@ keyspaces
keystore
keytab
keyvault
keyvaultkeyuri
keyvaultproperties
keyvaulturi
keyversion
Expand Down Expand Up @@ -2936,6 +2939,7 @@ vcores
vcpu
vcpus
vcsa
vectorizable
vectorize
vectorizer
verifyx
Expand Down Expand Up @@ -3739,4 +3743,5 @@ vnetblock
usedCPUMHz
totalCPUMHz
docon
DialOut
DialOut
vectorizers
1 change: 1 addition & 0 deletions eng/pipelines/typespec-validation-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ pr:
- package.json
- tsconfig.json
- eng
- specification/common-types

jobs:
- job: Validate_All_Specs
Expand Down
17 changes: 14 additions & 3 deletions eng/scripts/Get-TypeSpec-Folders.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ else {

$engFiles = $changedFiles | Where-Object {if ($_) { $_.StartsWith('eng') }}

$commonTypesFiles = $changedFiles | Where-Object {if ($_) { $_.StartsWith('specification/common-types') }}

$rootFilesImpactingTypeSpec = @(
".gitattributes",
".prettierrc.json",
Expand All @@ -40,7 +42,7 @@ else {
)
$repoRootFiles = $changedFiles | Where-Object {$_ -in $rootFilesImpactingTypeSpec}

if (($Env:BUILD_REPOSITORY_NAME -eq 'azure/azure-rest-api-specs') -and ($engFiles -or $repoRootFiles)) {
if (($Env:BUILD_REPOSITORY_NAME -eq 'azure/azure-rest-api-specs') -and ($engFiles -or $commonTypesFiles -or $repoRootFiles)) {
$changedFiles = $allChangedFiles
}
else {
Expand All @@ -49,13 +51,22 @@ else {
}

$typespecFolders = @()
$skippedTypespecFolders = @()
foreach ($file in $changedFiles) {
if ($file -match 'specification\/[^\/]*\/') {
$typespecFolder = (Get-ChildItem -path $matches[0] tspconfig.* -Recurse).Directory.FullName | ForEach-Object {if ($_) { [IO.Path]::GetRelativePath($($pwd.path), $_) }}
$typespecFolders += $typespecFolder -replace '\\', '/'
if (Test-Path $matches[0]) {
$typespecFolder = (Get-ChildItem -path $matches[0] tspconfig.* -Recurse).Directory.FullName | ForEach-Object {if ($_) { [IO.Path]::GetRelativePath($($pwd.path), $_) }}
$typespecFolders += $typespecFolder -replace '\\', '/'
} else {
$skippedTypespecFolders += $matches[0]
}
}
}

foreach ($skippedTypespecFolder in $skippedTypespecFolders | Select-Object -Unique) {
Write-Host "Cannot find directory $skippedTypespecFolder"
}

$typespecFolders = $typespecFolders | Select-Object -Unique | Sort-Object

return $typespecFolders
53 changes: 53 additions & 0 deletions eng/tools/TypeSpecValidation/src/rules/folder-structure.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { globby } from "globby";
import path from "path";
import { Rule } from "../rule.js";
import { RuleResult } from "../rule-result.js";
import { checkFileExists } from "../utils.js";

export class FolderStructureRule implements Rule {
readonly name = "FolderStructure";
Expand All @@ -18,6 +20,57 @@ export class FolderStructureRule implements Rule {
}
});

// Verify top level folder is lower case
let folderStruct = folder.split("/");
if (folderStruct[1].match(/[A-Z]/g)) {
success = false;
errorOutput += `Invalid folder name. Folders under specification/ must be lower case.\n`;
}

let packageFolder = folderStruct[folderStruct.length - 1];

// Verify package folder is at most 3 levels deep
if (folderStruct.length > 4) {
success = false;
errorOutput += `Please limit TypeSpec folder depth to 3 levels or less`;
}

// Verify second level folder is capitalized after each '.'
if (
/(^|\. *)([a-z])/g.test(packageFolder) &&
!["data-plane", "resource-manager"].includes(packageFolder)
) {
success = false;
errorOutput += `Invalid folder name. Folders under specification/${folderStruct[1]} must be capitalized after each '.'\n`;
}

// Verify 'Shared' follows 'Management'
if (packageFolder.includes("Management") && packageFolder.includes("Shared")) {
if (!packageFolder.includes("Management.Shared")) {
success = false;
errorOutput += `Invalid folder name. For management libraries with a shared component, 'Shared' should follow 'Management'.`;
}
}

// Verify tspconfig, main.tsp, examples/
let containsMinStruct =
(await checkFileExists(path.join(folder, "main.tsp"))) ||
(await checkFileExists(path.join(folder, "client.tsp")));

if (await checkFileExists(path.join(folder, "main.tsp"))) {
containsMinStruct =
containsMinStruct && (await checkFileExists(path.join(folder, "examples")));
}

if (!packageFolder.includes("Shared")) {
containsMinStruct =
containsMinStruct && (await checkFileExists(path.join(folder, "tspconfig.yaml")));
}
if (!containsMinStruct) {
success = false;
errorOutput += `Invalid folder structure. Package must contain main.tsp or client.tsp, tspconfig.yaml, and examples folder if there's main.tsp.`;
}

return {
success: success,
stdOutput: stdOutput,
Expand Down
Loading
Loading