Skip to content

Add upload-llm-artifacts common template step + pipelineArtifact output#49698

Open
ReilleyMilne wants to merge 3 commits into
mainfrom
reilleymilne/test-llm-artifacts-upload
Open

Add upload-llm-artifacts common template step + pipelineArtifact output#49698
ReilleyMilne wants to merge 3 commits into
mainfrom
reilleymilne/test-llm-artifacts-upload

Conversation

@ReilleyMilne

Copy link
Copy Markdown
Member

This pull request introduces a new pipeline step to collect and upload test result files as "LLM Artifacts" to support downstream LLM tooling (such as GitHub Copilot) for test analysis. The changes add a reusable, language-agnostic template for staging test result files and update the CI test job to use this template and publish the artifacts when available.

Copilot AI review requested due to automatic review settings July 1, 2026 23:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for collecting and publishing test result files as “LLM Artifacts” in Azure Pipelines, enabling downstream LLM tooling (e.g., GitHub Copilot) to analyze test runs using the raw test result outputs.

Changes:

  • Integrates the shared /eng/common/.../upload-llm-artifacts.yml step into the Java build-and-test.yml template to stage JUnit XML results into $(Build.ArtifactStagingDirectory)/llm-artifacts.
  • Publishes the staged llm-artifacts directory as a pipeline artifact from ci.tests.yml when staging detected test result files.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
eng/pipelines/templates/steps/build-and-test.yml Adds the shared LLM-artifacts staging step after PublishTestResults.
eng/pipelines/templates/jobs/ci.tests.yml Adds a conditional pipeline artifact output to publish the staged llm-artifacts directory.

condition: or(eq(variables['CaptureRepositoryOnFailure'], 'true'), and(failed(), eq(variables['Build.Reason'],'Schedule')))
sbomEnabled: false

# See eng/common/pipelines/templates/steps/upload-llm-artifacts.yml for corresponding file copy step
Comment on lines +287 to +291
- template: /eng/common/pipelines/templates/steps/upload-llm-artifacts.yml
parameters:
TestResultsGlob: 'TEST-*.xml'
SearchFolder: '$(System.DefaultWorkingDirectory)/sdk'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants