RU

run-helix-tests

Run .NET MAUI unit tests on distributed Helix queues from your local development environment.

Install

mkdir -p .claude/skills/run-helix-tests && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7229" && unzip -o skill.zip -d .claude/skills/run-helix-tests && rm skill.zip

Installs to .claude/skills/run-helix-tests

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Submit and monitor .NET MAUI unit tests on Helix infrastructure. Supports running XAML, Resizetizer, Core, Essentials, and other unit test projects on distributed Helix queues.
176 charsno explicit “when” trigger
Advanced

Key capabilities

  • Submit MAUI unit tests to Helix queues
  • Monitor test job progress
  • Configure test environment settings
  • Debug cross-platform test failures
  • Query job completion status

How it works

Triggers PowerShell scripts that interface with the Helix REST API to offload workload to distributed cloud runners.

Inputs & outputs

You give it
Configuration and project queue targets
You get back
Job ID and test execution logs

When to use run-helix-tests

  • Submit unit tests to Helix
  • Validate test changes on multiple platforms
  • Debug Helix-specific test failures
  • Run cross-platform MAUI tests

About this skill

Run Helix Tests Skill

Submit and monitor .NET MAUI unit tests on Helix infrastructure from your local machine.

Tools Required

This skill uses pwsh (PowerShell 7+) to run the scripts. The scripts call the local .dotnet/dotnet SDK.

When to Use

  • User asks to "run tests on Helix"
  • User wants to validate test changes on Helix infrastructure
  • User asks to "test on multiple platforms" (Windows + macOS)
  • User wants to debug Helix-specific test failures locally
  • User asks about "Helix unit tests" (not device tests - those use helix_xharness.proj)

Prerequisites

Before running Helix tests, ensure:

  1. Local SDK provisioned: The .dotnet/ folder must exist with the SDK

    # If missing, run:
    dotnet cake --target=dotnet
    
  2. Build tasks compiled (for first run):

    # Windows
    .\build.cmd -restore -build -configuration Release -projects .\Microsoft.Maui.BuildTasks.slnf
    
    # macOS/Linux  
    ./build.sh -restore -build -configuration Release -projects ./Microsoft.Maui.BuildTasks.slnf
    

Scripts

All scripts are in .github/skills/run-helix-tests/scripts/

1. Submit Unit Tests to Helix

# Submit all unit tests (XAML, Core, Essentials, Resizetizer, etc.)
pwsh .github/skills/run-helix-tests/scripts/Submit-HelixTests.ps1

# Submit with specific configuration
pwsh .github/skills/run-helix-tests/scripts/Submit-HelixTests.ps1 -Configuration Debug

# Submit to specific queue only
pwsh .github/skills/run-helix-tests/scripts/Submit-HelixTests.ps1 -Queue "Windows.10.Amd64.Open"

2. Monitor Helix Job Status

# Monitor a submitted job (use job ID from submission output)
pwsh .github/skills/run-helix-tests/scripts/Get-HelixJobStatus.ps1 -JobId <JOB_ID>

# Wait for completion with polling
pwsh .github/skills/run-helix-tests/scripts/Get-HelixJobStatus.ps1 -JobId <JOB_ID> -Wait

3. Get Helix Work Item Console Logs

# Get console output for a specific work item
pwsh .github/skills/run-helix-tests/scripts/Get-HelixWorkItemLog.ps1 -JobId <JOB_ID> -WorkItem <WORK_ITEM_NAME>

# Get failed work items only
pwsh .github/skills/run-helix-tests/scripts/Get-HelixWorkItemLog.ps1 -JobId <JOB_ID> -FailedOnly

Quick Start (Manual)

If you prefer to run directly without scripts:

# Windows
.\helix.cmd

# macOS/Linux
./helix.sh

These wrapper scripts set the required environment variables and submit to Helix.

Test Projects Submitted

The following test projects are submitted to Helix (defined in eng/helix.proj):

ProjectDescription
Controls.Xaml.UnitTestsXAML parsing and compilation tests
Controls.Core.UnitTestsCore controls unit tests
Controls.BindingSourceGen.UnitTestsBinding source generator tests
SourceGen.UnitTestsGeneral source generator tests
Core.UnitTestsCore framework tests
Essentials.UnitTestsEssentials APIs tests
Resizetizer.UnitTestsImage resizing tests

Helix Queues

Tests run on multiple queues in parallel:

QueuePlatform
Windows.10.Amd64.OpenWindows 10 x64
osx.15.arm64.maui.openmacOS 15 ARM64

Workflow

Submit and Monitor Tests

  1. Submit tests:

    $result = pwsh .github/skills/run-helix-tests/scripts/Submit-HelixTests.ps1
    # Note the job IDs from output
    
  2. Monitor progress:

    pwsh .github/skills/run-helix-tests/scripts/Get-HelixJobStatus.ps1 -JobId $jobId -Wait
    
  3. Check failures (if any):

    pwsh .github/skills/run-helix-tests/scripts/Get-HelixWorkItemLog.ps1 -JobId $jobId -FailedOnly
    

Debug a Specific Test Failure

  1. Get the job ID from the Helix submission output
  2. Find the failed work item name
  3. Get the console log:
    pwsh .github/skills/run-helix-tests/scripts/Get-HelixWorkItemLog.ps1 -JobId <JOB_ID> -WorkItem "Microsoft.Maui.Controls.Xaml.UnitTests.dll"
    

Understanding Results

Helix test results are reported to the console and can be viewed at:

Common Issues

IssueSolution
"dotnet not found"Run dotnet cake --target=dotnet to provision SDK
"Build failed"Run build.cmd/build.sh first to build required projects
"Queue not available"Check https://helix.dot.net for queue status
"Test timeout"Some tests have long execution times; this is normal

Difference from Device Tests

This skill runs unit tests on Helix (eng/helix.proj).

For device tests (iOS, Android, MacCatalyst emulators/simulators), use:

# Device tests use helix_xharness.proj instead
./eng/common/msbuild.sh ./eng/helix_xharness.proj /t:Test /p:TargetOS=ios

See .github/instructions/helix-device-tests.instructions.md for device test guidance.

When not to use it

  • Local development UI testing
  • Testing non-MAUI applications

Prerequisites

PowerShell 7+.NET SDK

Limitations

  • Requires VPN/network access to internal Helix
  • High latency due to remote execution

How it compares

It abstracts the distributed infrastructure management away from the standard dotnet test command.

Compared to similar skills

run-helix-tests side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
run-helix-tests (this skill)16moReviewAdvanced
run-integration-tests16moReviewIntermediate
quality-ci03moNo flagsAdvanced
pr-testing06moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry