Build NuGet packages in CI/PR pipelines (#40409)

* Build NuGet packages in CI/PR pipelines Removes `includePackageStage: false` from the PR pipeline templates so the package stage runs on every PR build, producing both `Microsoft.WSL.PluginApi` and `Microsoft.WSL.Containers` nupkgs as pipeline artifacts. This makes it easier to test SDK changes pre-merge. Tests are unaffected: the test stage still passes `includePackageStage: false`, so it continues to depend only on `build_x64` and downloads `drop_wsl_build` (not the package stage's outputs). The package stage runs in parallel with tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update package job displayName to reflect NuGet output Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Ben Hillis committed May 5, 2026 at 14:19 UTC 0d31e16299b991ceb30f4edd8614beb1b5efea2a
3 files changed +1 -3
.pipelines/package-stage.yml
+1 -1
@@ -32,7 +32,7 @@ stages:
32 dependsOn: [build_x64, build_arm64]
33 jobs:
34 - job: package
35 - displayName: "Create msixbundle & appxupload"
35 + displayName: "Package WSL release artifacts"
36 timeoutInMinutes: 60
37
38 ${{ if eq(parameters.pool, '') }}:
.pipelines/wsl-build-pr-onebranch.yml
-1
@@ -46,7 +46,6 @@ extends:
46 - template: build-stage.yml@self
47 parameters:
48 isRelease: false
49 - includePackageStage: false
49
50 - template: test-stage.yml@self
51 parameters:
.pipelines/wsl-build-pr.yml
-1
@@ -8,7 +8,6 @@ stages:
8 - template: build-stage.yml@self
9 parameters:
10 isRelease: false
11 - includePackageStage: false
11 pool: 'wsl-build'
12 vsoOrg: shine-oss
13 vsoProject: wsl