Skip to content

Conversation

@Arlodotexe
Copy link
Member

Summary

Fixes matrix mismatch causing netstandard-only packages to be built but never signed or released.

Problem

The build.yml workflow has a matrix inconsistency across jobs:

  • Package job matrix: winui: [0, 2, 3] (includes netstandard)
  • Sign job matrix: winui: [2, 3] (excludes netstandard)
  • Release job matrix: winui: [2, 3] (excludes netstandard)

This causes netstandard-only components like Extensions.DependencyInjection to be built and packaged (creating nuget-packages-winui0 artifacts) but never processed by downstream sign/release jobs. The packages are orphaned after the package job completes.

Root Cause

The sign and release jobs were added by copying infrastructure from the mainline Windows Community Toolkit repository. Since mainline has no netstandard-only components, the copied code used winui: [2, 3]. Labs-Windows requires [0, 2, 3] to match its existing package job that supports netstandard-only components.

Solution

This PR adds 0 to both matrices to match Labs' requirements:

Sign job (line ~394):

    matrix:
-     winui: [2, 3]
+     winui: [0, 2, 3]

Release job (line ~458):

    matrix:
-     winui: [2, 3]
+     winui: [0, 2, 3]

The signing and release logic already handles packages generically using **/*.nupkg patterns, so no additional changes are needed.

Impact

  • ✅ Extensions.DependencyInjection packages will now be signed and released to NuGet.org
  • ✅ Future netstandard-only components will follow the complete pipeline
  • ✅ No changes to existing WinUI 2/3 behavior (additive change only)

Testing Recommendations

  1. Create manual test tag (e.g., release/weekly/251101)
  2. Verify all three sign matrix jobs complete (winui 0, 2, 3)
  3. Verify all three release matrix jobs complete (winui 0, 2, 3)
  4. Verify Extensions.DependencyInjection appears on NuGet.org
  5. Verify existing WinUI 2/3 packages still release correctly

Related

The package job creates artifacts for winui [0, 2, 3], but sign and release jobs only processed [2, 3]. This caused netstandard-only packages like Extensions.DependencyInjection to be built but never signed or released to NuGet.org.

The sign and release jobs were added by copying from mainline Windows Community Toolkit, which doesn't have netstandard-only components. This PR updates both matrices to match Labs' package job requirements.
@Arlodotexe Arlodotexe self-assigned this Oct 31, 2025
@Arlodotexe Arlodotexe merged commit 18946f6 into main Nov 1, 2025
24 checks passed
@Arlodotexe Arlodotexe deleted the fix/ci-netstandard-package-sign-release branch November 1, 2025 00:26
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.

2 participants