Skip to content

CI test publishing and misc cleanups - #12441

Open
Alan Zimmer (alzimmermsft) wants to merge 6 commits into
mainfrom
CiCachingAndTestPublishing
Open

Alan Zimmer (alzimmermsft) wants to merge 6 commits into
mainfrom
CiCachingAndTestPublishing

Conversation

@alzimmermsft

Copy link
Copy Markdown
Member

Add test publishing to CI to make it easier to see what failed in the job. Also, clean up a few things in Java such as adding Maven caching to speed up CI and reduce log verbosity when building Maven packages.

@pkg-pr-new

pkg-pr-new Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@typespec/http-client-csharp@12441
npm i https://pkg.pr.new/@typespec/http-client-python@12441

commit: 4576584

@github-actions

Copy link
Copy Markdown
Contributor

All changed packages have been documented.

  • ✅ @typespec/http-client-java
  • ✅ @typespec/http-client-python
Show changes

@typespec/http-client-java - internal ✏️

Publish Azure DevOps test results after the shared test script for all language emitters.

@typespec/http-client-python - internal ✏️

Publish Azure DevOps test results after the shared test script for all language emitters.

@typespec/http-client-java - internal ✏️

Suppress Maven transfer progress during Java CI formatting checks and smoke-project builds while retaining normal build logs.

@typespec/http-client-java - internal ✏️

Cache Maven dependencies in Java CI and publish generator, emitter, and Spector test results to Azure DevOps, including failed test runs.

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.

🔵 Needs a closer look

A native Azure DevOps run is needed to validate matrix TestArguments expansion in publishing conditions and Maven cache restore/save behavior, since the added JavaScript tests do not exercise Azure’s expression engine.

No open issues 🎉

What changed in this PR

This PR improves test-failure visibility in the language-emitter CI pipelines by publishing results to Azure DevOps. It also adds Maven dependency caching and reduces Java build-log noise.

Changes:

  • Enable JUnit and TRX reports and publish results from test-producing jobs, including failed runs.
  • Cache Maven artifacts without caching feed credentials, and suppress transfer-progress output.
  • Add regression tests for reporting configuration, publishing conditions, and caching.
File Description
packages/​http-client-python/​tests/​tox.ini Write separate JUnit reports for each pytest environment.
packages/​http-client-python/​eng/​scripts/​Test-Packages.ps1 Document collected test-report paths.
packages/​http-client-python/​emitter/​vitest.config.ts Enable JUnit reporting in Azure DevOps.
packages/​http-client-java/​generator/​http-client-generator-clientcore-test/​Generate.ps1 Suppress Maven transfer progress during smoke builds.
packages/​http-client-java/​eng/​scripts/​Test-Packages.ps1 Run emitter tests with console and JUnit reporters.
packages/​http-client-java/​eng/​scripts/​Build-Packages.ps1 Suppress transfer progress during formatting checks.
packages/​http-client-csharp/​eng/​scripts/​Test-Packages.ps1 Enable emitter JUnit and generator TRX reports.
packages/​http-client-csharp/​eng/​scripts/​Get-Spector-Coverage.ps1 Enable TRX reports for Spector tests.
eng/​emitters/​pipelines/​templates/​steps/​test-step.yml Publish language-specific JUnit and C# TRX results.
eng/​emitters/​pipelines/​templates/​steps/​build-step.yml Publish Java generator results after builds.
eng/​emitters/​pipelines/​emitter-ci.test.ts Test caching, report configuration, and publishing conditions.
eng/​common/​pipelines/​templates/​steps/​maven-authenticate.yml Cache Maven artifacts by OS, stage, and POM contents.
.chronus/​changes/​UpdateTargetVersions-2026-9-29-10-7-0.md Record Java CI caching and result publishing.
.chronus/​changes/​CiCachingAndTestPublishing-2026-9-29-14-33-2.md Record reduced Maven log verbosity.
.chronus/​changes/​CiCachingAndTestPublishing-2026-9-29-11-43-1.md Record shared test-result publishing for Java and Python.

Review effort: Balanced

@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Python emitter diff

Baseline gh:780c2c6a944d2f6be276b60f890854f7a18b2955 vs this PR.

No changes to generated output.

Rendered diff: inline on the run summary, or the emitter-diff-html artifact.

Informational check (eng/emitter-diff); does not block the PR.

@azure-sdk-automation

azure-sdk-automation Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

You can try these changes here

🛝 Playground 🌐 Website 🛝 VSCode Extension

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.

c# emitter changes LGTM

Copilot AI balanced review requested due to automatic review settings October 30, 2026 17:44

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.

🟡 Changes recommended

The publishing conditions compare the literal $(TestArguments) macro in regeneration matrix jobs, causing Python test results and Java regeneration results to be skipped.

1 open issue

Review effort: Balanced

Updated conditions to use coalesce for TestArguments variable.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 30, 2026 19:40

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.

🟢 Approval recommended

No active review issues remain for the CI test-result publishing, Maven caching, and build-log improvements.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

This branch has not been deployed

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

Labels

emitter:client:csharp Issue for the C# client emitter: @typespec/http-client-csharp emitter:client:java Issue for the Java client emitter: @typespec/http-client-java emitter:client:python Issue for the Python client emitter: @typespec/http-client-python eng

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants