Skip to main content

run-toolset-tests

Run the razor-toolset-ci pipeline to validate the current branch against large third-party repositories (MudBlazor, OrchardCore, ASP.NET Core, etc.). Use when asked to run toolset tests, ecosystem tests, or third-party validation.

Datos de origen

Repositorio
dotnet/roslyn
Última actividad en el origen
28 de abril de 2026 a las 00:20
Idioma detectado de SKILL.md
inglés
Estrellas
20.729
Forks
4347

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
run-toolset-tests
description
Run the razor-toolset-ci pipeline to validate the current branch against large third-party repositories (MudBlazor, OrchardCore, ASP.NET Core, etc.). Use when asked to run toolset tests, ecosystem tests, or third-party validation.
# Run Razor Toolset Tests Pushes the current branch to `dotnet/roslyn` on GitHub and triggers the [`razor-toolset-ci`](https://dev.azure.com/dnceng/internal/_build?definitionId=1270) Azure DevOps pipeline (definition 1270, project `internal`) to build the Razor compiler toolset and validate it against large third-party projects. ## Background The pipeline lives in the [`razor-toolset-tests`](https://dev.azure.com/dnceng/internal/_git/razor-toolset-tests) repo in `dnceng/internal`. It: 1. Builds `Microsoft.Net.Compilers.Razor.Toolset` from the merged Roslyn repo 2. Injects it (plus the matching Roslyn toolset) into 11 third-party projects 3. Builds each project to verify compatibility Projects tested: MudBlazor, Havit.Blazor, Telerik Blazor UI, OrchardCore, GrandNode2, Damselfly, Hawaso, dotnet-podcasts, and ASP.NET Core (MVC, Razor Pages, Blazor components). **Important:** When manually triggered, the pipeline checks out from the `RazorGitHubRepo` resource (`github.com/dotnet/roslyn`). The commit must be pushed to `dotnet/roslyn` — commits on forks or the internal ADO mirror are not accessible for manual runs. ## Steps ### 1. Verify prerequisites - Confirm we're in the merged Roslyn repository (look for `src/Razor/src/Compiler` or check git remotes). - Get the current commit SHA: `git rev-parse HEAD` - Get the current branch name: `git branch --show-current` (if HEAD is detached, use `git rev-parse --short HEAD` as the name) ### 2. Find or configure a remote for `dotnet/roslyn` - Run `git remote -v` and look for a remote whose URL contains `dotnet/roslyn`. - Common remote names: `upstream`, `dotnet`. - If no such remote exists, add one: ``` git remote add dotnet https://github.com/dotnet/roslyn.git ``` - Store the remote name for subsequent steps. ### 3. Push to GitHub Push current HEAD to a test branch on `dotnet/roslyn`: ``` git push <remote> HEAD:refs/heads/toolset-test/<branch-name> --force ``` If the branch name is empty (detached HEAD), use the short SHA instead. If the push fails with a permission error, inform the user they need push access to `dotnet/roslyn`. ### 4. Trigger the pipeline Use the `ado-pipelines_run_pipeline` MCP tool: - `project`: `"internal"` - `pipelineId`: `1270` - `resources`: ```json { "pipelines": {}, "repositories": { "RazorGitHubRepo": { "refName": "refs/heads/toolset-test/<branch-name>", "version": "<commit-sha>" } } } ``` If the MCP tool fails, fall back to the REST API via PowerShell: ```powershell $body = @{ resources = @{ repositories = @{ RazorGitHubRepo = @{ refName = "refs/heads/toolset-test/<branch-name>" version = "<commit-sha>" } } } } | ConvertTo-Json -Depth 5 az devops configure --defaults organization=https://dev.azure.com/dnceng project=internal $result = az rest --method post ` --uri "https://dev.azure.com/dnceng/internal/_apis/pipelines/1270/runs?api-version=7.1" ` --body "$body" ` --resource "499b84ac-1321-427f-aa17-267ca6975798" | ConvertFrom-Json Write-Output "Run URL: https://dev.azure.com/dnceng/internal/_build/results?buildId=$($result.id)" ``` ### 5. Report results Show the user: - The pipeline run URL (from the response, or construct from the build ID) - The commit SHA and branch that was pushed - A reminder to clean up the remote branch when done: ``` git push <remote> --delete toolset-test/<branch-name> ``` ## Notes - All 11 projects run as parallel jobs — individual jobs can fail independently. - The pipeline uses the `windows.vs2026.amd64` agent image. - Pipeline definition: https://dev.azure.com/dnceng/internal/_build?definitionId=1270 - Pipeline source repo: https://dev.azure.com/dnceng/internal/_git/razor-toolset-tests
Ver en GitHub