Skip to content

Commit f249746

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

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-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: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
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 $(TestTargetFramework)*.trx -Recurse -File
11+
Write-Host "================="
12+
13+
# Results File: D:\a\_work\1\s\tools\azsdk-cli\Azure.Sdk.Tools.Cli.Tests\TestResults\cloudtest_c199fa1ec000015_2025-07-11_19_03_59.trx
14+
15+
foreach($testResultsFile in (Get-ChildItem -Path $(TestTargetFramework)*.trx -Recurse -File))
16+
{
17+
$fileFullName = $testResultsFile.FullName
18+
19+
# Convert a path like
20+
# /mnt/vss/_work/1/s/sdk/template/Azure.Template/tests/TestResults/net8.0.trx
21+
# to
22+
# template-Azure.Template-net8.0.trx
23+
$serviceAndPackage = ($fileFullName -split '[\\/]tools[\\/]|[\\/]TestResults')[1] -replace '[\\/]', '-'
24+
$trxFile = Split-Path $fileFullName -Leaf
25+
$fileName = "$serviceAndPackage-$trxFile"
26+
27+
Move-Item -Path $fileFullName -Destination "$artifactsDirectory/$fileName" -ErrorAction Continue
28+
Write-Host "##vso[task.setvariable variable=uploadLlmArtifacts]true"
29+
}
30+
condition: succeededOrFailed()
31+
displayName: Copy test results files to llm artifacts staging directory

0 commit comments

Comments
 (0)