Skip to content

winui-packaging: ship a tested GitHub Actions workflow file instead of an inline YAML snippet #99

@nmetulev

Description

@nmetulev

97: #97

Problem

From Joe's blog post:

CI was next. The workflow the agent generated didn't work out of the box, so I just removed it.

The current winui-packaging skill embeds an example GitHub Actions YAML snippet as inline markdown (lines 67–90). The snippet has at least these problems:

  1. Hard-codes ./bin/x64/Release/ — actual output path varies by TargetFramework, Configuration, and RID, and is usually bin/x64/Release/<tfm>/win-x64/ or similar after RuntimeIdentifiers is set.
  2. Doesn't set up the .NET SDK before dotnet build (relies on whatever ships on the runner).
  3. Single-platform only — fails on Arm64.
  4. Never exercised by our own CI, so we have no signal when it drifts.

The result: the agent emits a workflow that looks right and doesn't run. Pattern is the deeper issue — every prose-embedded snippet we tell the agent to copy is unverified.

Proposed fix

  • Move the YAML to a real file: plugins/winui/skills/winui-packaging/references/github-actions/build-and-package.yml.
  • Make it a proper matrix workflow (x64, arm64), with actions/setup-dotnet, correct artifact globs, signing from a repo secret (and a graceful fallback to ephemeral dev cert for non-secret-bearing forks / first-time setup).
  • Exercise it against a sample WinUI app inside this repo's CI so any breakage is caught here, not by users.
  • Skill body instructs the agent to copy the file in (Copy-Item from the installed skill path, or gh repo clone of just that path) rather than emit YAML from scratch.

Acceptance criteria

  • Workflow lives as a real file under references/github-actions/.
  • CI in this repo runs it against a sample WinUI 3 app on every PR.
  • Skill instructs the agent to copy the file rather than regenerate it.
  • Both x64 and arm64 produce uploaded .msix artifacts on each run.
  • Inline YAML in SKILL.md is removed (or reduced to a 5-line "what it does" excerpt with a pointer to the real file).

Acknowledgments

Identified by Joe Finney in Building Fluent Icon Finder with the WinUI Copilot skill.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions