Skip to content

ci: add dedicated nightly pipeline for C# emitter against TypeSpec Next#10755

Open
JoshLove-msft wants to merge 1 commit into
microsoft:mainfrom
JoshLove-msft:joshlove-msft/nightly-csharp-emitter-pipeline
Open

ci: add dedicated nightly pipeline for C# emitter against TypeSpec Next#10755
JoshLove-msft wants to merge 1 commit into
microsoft:mainfrom
JoshLove-msft:joshlove-msft/nightly-csharp-emitter-pipeline

Conversation

@JoshLove-msft
Copy link
Copy Markdown
Contributor

Adds packages/http-client-csharp/eng/pipeline/nightly.yml so the nightly TypeSpec Next validation for the C# emitter runs on its own ADO pipeline definition.

Why

Today the nightly TypeSpec Next validation piggybacks on publish.yml (scheduled runs flip UseTypeSpecNext on). That has two downsides:

  • It conflates nightly @next failures with release/publish failures, making reporting and triage harder.
  • It still runs the Publish stage, which we don't want for a nightly compatibility check.

What

  • New file: packages/http-client-csharp/eng/pipeline/nightly.yml
    • trigger: none / pr: none — schedule will be configured on the ADO pipeline definition (matching repo convention; no other emitter pipelines define schedules in YAML).
    • UseTypeSpecNext parameter defaults to true.
    • Publish: ""none"" passed to emitter-stages.yml → Publish stage and the CreateAzureSdkForNetPR stage are not included.
    • Runs unit tests (-UnitTests) plus the RegenCheck matrix (toggleable via RunRegenChecks parameter) so generation diffs against @next are surfaced in a separate CSharp_Regen_Test stage.
    • Same .NET 8/9/10 install steps and PrimaryNodeVersion default as publish.yml.
  • publish.yml is intentionally left untouched. Its UseTypeSpecNext parameter and Build.Reason == 'Schedule' override still work, so the existing capability is preserved. Once this pipeline is wired up in ADO, the schedule trigger can be moved off the publish definition.

Follow-up (outside this PR)

  • Create the ADO pipeline definition pointing at packages/http-client-csharp/eng/pipeline/nightly.yml and set the nightly schedule there.
  • Once active, remove the nightly schedule from the publish pipeline definition.

Adds packages/http-client-csharp/eng/pipeline/nightly.yml so the nightly TypeSpec Next validation runs on its own ADO pipeline definition. This separates reporting from the publish pipeline and skips package publishing and the azure-sdk-for-net PR stage.

The publish pipeline retains its UseTypeSpecNext parameter for manual runs as requested.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@microsoft-github-policy-service microsoft-github-policy-service Bot added the emitter:client:csharp Issue for the C# client emitter: @typespec/http-client-csharp label May 21, 2026
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 21, 2026

Open in StackBlitz

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

commit: 451aa78

@github-actions
Copy link
Copy Markdown
Contributor

No changes needing a change description found.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant