Skip to content

Commit 2b04e22

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

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: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,13 @@ extends:
164164
name: ${{ test.Pool }}
165165
os: ${{ test.Os }}
166166

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

@@ -187,6 +194,8 @@ extends:
187194
testResultsFormat: 'VSTest'
188195
mergeTestResults: true
189196

197+
- template: /eng/pipelines/templates/steps/upload-llm-artifacts.yml
198+
190199
- ${{ if not(eq(length(parameters.DockerDeployments), 0)) }}:
191200
- template: /eng/pipelines/publish-docker-image-isolated.yml
192201
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)