Skip to content

Commit 2af6610

Browse files
committed
Upload trx files to llm artifacts
1 parent 9bc5199 commit 2af6610

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

eng/pipelines/templates/stages/archetype-sdk-tool-dotnet.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,14 @@ extends:
164164
name: ${{ test.Pool }}
165165
os: ${{ test.Os }}
166166

167+
templateContext:
168+
outputs:
169+
- output: pipelineArtifact
170+
targetPath: '$(Build.ArtifactStagingDirectory)/llm-artifacts'
171+
artifactName: "LLM Artifacts - $(System.JobName) - $(System.JobAttempt)"
172+
condition: eq(variables['uploadLlmArtifacts'], 'true')
173+
sbomEnabled: false
174+
167175
steps:
168176
- template: /eng/pipelines/templates/steps/install-dotnet.yml
169177

@@ -187,6 +195,8 @@ extends:
187195
testResultsFormat: 'VSTest'
188196
mergeTestResults: true
189197

198+
- template: /eng/pipelines/templates/steps/upload-llm-artifacts.yml
199+
190200
- ${{ if not(eq(length(parameters.DockerDeployments), 0)) }}:
191201
- template: /eng/pipelines/publish-docker-image-isolated.yml
192202
parameters:
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# This template serves as a place to upload artifacts intended to be used by LLMs
2+
# that handle data from the pipeline (for example github copilot).
3+
4+
steps:
5+
- pwsh: |
6+
$artifactsDirectory = "$(Build.ArtifactStagingDirectory)/llm-artifacts"
7+
New-Item $artifactsDirectory -ItemType directory -Force
8+
9+
Write-Host "================="
10+
Get-ChildItem -Path *.trx -Recurse -File
11+
Write-Host "================="
12+
13+
14+
foreach($testResultsFile in (Get-ChildItem -Path *.trx -Recurse -File))
15+
{
16+
$fileFullName = $testResultsFile.FullName
17+
18+
# Convert a path like
19+
# D:\a\_work\1\s\tools\azsdk-cli\Azure.Sdk.Tools.Cli.Tests\TestResults\cloudtest_c199fa1ec000015_2025-07-11_19_03_59.trx
20+
# to
21+
# azsdk-cli-Azure.Sdk.Tools.Cli.Tests-cloudtest_c199fa1ec000015_2025-07-11_19_03_59.trx
22+
$serviceAndPackage = ($fileFullName -split '[\\/]tools[\\/]|[\\/]TestResults')[1] -replace '[\\/]', '-'
23+
$trxFile = Split-Path $fileFullName -Leaf
24+
$fileName = "$serviceAndPackage-$trxFile"
25+
26+
Move-Item -Path $fileFullName -Destination "$artifactsDirectory/$fileName" -ErrorAction Continue
27+
Write-Host "##vso[task.setvariable variable=uploadLlmArtifacts]true"
28+
}
29+
condition: succeededOrFailed()
30+
displayName: Copy test results files to llm artifacts staging directory

0 commit comments

Comments
 (0)