Skip to content

Commit 75457d4

Browse files
Merge branch 'automate_release_plan_create' of https://github.com/Azure/azure-rest-api-specs into automate_release_plan_create
2 parents 32da2e2 + eb2bb69 commit 75457d4

1,772 files changed

Lines changed: 239097 additions & 5299 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
lease:
22
resource-provider: Microsoft.DesktopVirtualization
3-
startdate: "2026-05-04"
4-
duration: P90D
5-
reviewer: "@tejaswiminnu"
3+
startdate: "2026-06-26"
4+
duration: P180D
5+
reviewer: "@vikeshi26"
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
lease:
2+
resource-provider: Microsoft.KubernetesConfiguration
3+
startdate: "2026-06-26"
4+
duration: P180D
5+
reviewer: "@vikeshi26"
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
lease:
2+
resource-provider: Microsoft.KubernetesConfiguration
3+
startdate: "2026-06-26"
4+
duration: P180D
5+
reviewer: "@vikeshi26"

.github/package-lock.json

Lines changed: 383 additions & 323 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/shared/package-lock.json

Lines changed: 364 additions & 304 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/common/pipelines/templates/steps/check-spelling.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ parameters:
3535

3636
steps:
3737
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
38+
- template: /eng/common/pipelines/templates/steps/create-authenticated-npmrc.yml
3839
- task: PowerShell@2
3940
displayName: Check spelling (cspell)
4041
condition: and(succeeded(), ne(variables['Skip.SpellCheck'],'true'))
@@ -46,9 +47,6 @@ steps:
4647
-CspellConfigPath ${{ parameters.CspellConfigPath }}
4748
-ExitWithError:(!$${{ parameters.ContinueOnError }})
4849
pwsh: true
49-
env:
50-
${{ if ne(parameters.NpmConfigUserConfig, '') }}:
51-
npm_config_userconfig: ${{ parameters.NpmConfigUserConfig }}
5250
- ${{ if ne('', parameters.ScriptToValidateUpgrade) }}:
5351
- pwsh: |
5452
$changedFiles = ./eng/common/scripts/get-changedfiles.ps1
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# This template stages test result files into an "llm-artifacts" directory so they can be
2+
# uploaded as a pipeline artifact and consumed by LLM tooling (for example GitHub Copilot)
3+
# to analyze a test run.
4+
#
5+
# It is language agnostic. Every Azure SDK language repo emits test results in a different
6+
# format (.NET produces TRX, the other languages produce JUnit XML) and with a different
7+
# file name, so callers pass the appropriate leaf-name glob via TestResultsGlob:
8+
#
9+
# .NET (TRX): TestResultsGlob: '$(TestTargetFramework)*.trx'
10+
# Python (JUnit XML): TestResultsGlob: '*test*.xml'
11+
# JS (JUnit XML): TestResultsGlob: 'test-results*.xml', SearchFolder: '$(System.DefaultWorkingDirectory)/sdk'
12+
# Java (JUnit XML): TestResultsGlob: 'TEST-*.xml', SearchFolder: '$(System.DefaultWorkingDirectory)/sdk'
13+
# Go (JUnit XML): TestResultsGlob: 'report.xml'
14+
#
15+
# The staging step does not care about the file format; it only moves files. Each file is
16+
# renamed using its location relative to the repo's "sdk" directory so results from different
17+
# services/packages do not collide once flattened into a single directory.
18+
#
19+
# Example template usage, see above for per language values:
20+
#
21+
# - template: /eng/common/pipelines/templates/steps/upload-llm-artifacts.yml
22+
# parameters:
23+
# TestResultsGlob: '*test*.xml' # e.g. Python
24+
# SearchFolder: '$(System.DefaultWorkingDirectory)/sdk'
25+
# - output: pipelineArtifact
26+
# condition: eq(variables['uploadLlmArtifacts'], 'true')
27+
28+
29+
parameters:
30+
# One or more comma separated leaf-name globs used to locate test result files.
31+
- name: TestResultsGlob
32+
type: string
33+
# Root directory to search recursively. Scope this (for example to ".../sdk") to avoid
34+
# scanning large unrelated trees such as node_modules.
35+
- name: SearchFolder
36+
type: string
37+
default: '$(Build.SourcesDirectory)'
38+
39+
steps:
40+
- pwsh: |
41+
$artifactsDirectory = "$(Build.ArtifactStagingDirectory)/llm-artifacts"
42+
New-Item $artifactsDirectory -ItemType Directory -Force | Out-Null
43+
44+
$searchFolder = "${{ parameters.SearchFolder }}"
45+
$patterns = "${{ parameters.TestResultsGlob }}".Split(",", [StringSplitOptions]::RemoveEmptyEntries) `
46+
| ForEach-Object { $_.Trim() } | Where-Object { $_ }
47+
48+
$testResultsFiles = @(Get-ChildItem -Path $searchFolder -Include $patterns -Recurse -File -ErrorAction SilentlyContinue)
49+
50+
Write-Host "================="
51+
Write-Host "Found $($testResultsFiles.Count) test result file(s) under '$searchFolder' matching: $($patterns -join ', ')"
52+
$testResultsFiles | ForEach-Object { Write-Host $_.FullName }
53+
Write-Host "================="
54+
55+
$stagedCount = 0
56+
foreach ($testResultsFile in $testResultsFiles)
57+
{
58+
$fileFullName = $testResultsFile.FullName
59+
60+
# Build a unique, traceable artifact name from the file's location. Prefer the path
61+
# relative to the language repo's "sdk" directory, for example:
62+
# <sources>/sdk/template/Azure.Template/tests/TestResults/net8.0.trx
63+
# -> template-Azure.Template-tests-TestResults-net8.0.trx
64+
# <sources>/sdk/storage/report.xml
65+
# -> storage-report.xml
66+
# Fall back to a sources-relative path for repos without an "sdk" directory.
67+
if ($fileFullName -match "[\\/]sdk[\\/]")
68+
{
69+
$relativePath = ($fileFullName -split "[\\/]sdk[\\/]", 2)[-1]
70+
}
71+
else
72+
{
73+
$relativePath = [System.IO.Path]::GetRelativePath("$(Build.SourcesDirectory)", $fileFullName)
74+
}
75+
$fileName = $relativePath -replace "^[\\/]+", "" -replace "[\\/]+", "-"
76+
77+
$destination = "$artifactsDirectory/$fileName"
78+
Move-Item -Path $fileFullName -Destination $destination -ErrorAction Continue
79+
if (Test-Path -Path $destination)
80+
{
81+
$stagedCount++
82+
}
83+
}
84+
85+
# Only signal an upload when test result files were actually staged.
86+
if ($stagedCount -gt 0)
87+
{
88+
Write-Host "Staged $stagedCount test result file(s) into '$artifactsDirectory'."
89+
Write-Host "##vso[task.setvariable variable=uploadLlmArtifacts]true"
90+
}
91+
else
92+
{
93+
Write-Host "No test result files were staged; skipping llm-artifacts upload."
94+
}
95+
condition: succeededOrFailed()
96+
displayName: Copy test result files to llm artifacts staging directory

eng/common/scripts/Verify-Links.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
Path to the root of the site for resolving rooted relative links, defaults to host root for http and file directory for local files.
2323
2424
.PARAMETER errorStatusCodes
25-
List of http status codes that count as broken links. Defaults to 400, 404, SocketError.HostNotFound = 11001, SocketError.NoData = 11004.
25+
List of http status codes that count as broken links. Defaults to 400, 404, SocketError.HostNotFound = 11001, SocketError.NoData = 11004, and -131073 (socket error on Linux).
2626
2727
.PARAMETER branchReplaceRegex
2828
Regex to check if the link needs to be replaced. E.g. ^(https://github.com/.*/(?:blob|tree)/)main(/.*)$
@@ -75,7 +75,7 @@ param (
7575
[switch] $recursive = $true,
7676
[string] $baseUrl = "",
7777
[string] $rootUrl = "",
78-
[array] $errorStatusCodes = @(400, 404, 11001, 11004),
78+
[array] $errorStatusCodes = @(400, 404, 11001, 11004, -131073),
7979
[string] $branchReplaceRegex = "",
8080
[string] $branchReplacementName = "",
8181
[bool] $checkLinkGuidance = $false,

0 commit comments

Comments
 (0)