Nightly Template Validation Pipeline¶
Overview¶
The nightly template validation pipeline lives in ConnectSoft.AzurePipelines as:
nightly-validate-template-installers.yml
Its goal is to continuously validate template installer packages from Azure Artifacts by installing them with dotnet new, generating solutions for multiple variations, and running build plus unit tests.
Scope¶
The pipeline currently validates these template installer packages from feed ConnectSoft:
ConnectSoft.LibraryTemplate.InstallerConnectSoft.ApiLibraryTemplate.InstallerConnectSoft.BaseTemplate.InstallerConnectSoft.AISkillsLibraryTemplate.InstallerConnectSoft.ApiGatewayTemplate.InstallerConnectSoft.DocumentationTemplate.InstallerConnectSoft.Blazor.ComponentLibraryTemplate.InstallerConnectSoft.IdentityTemplate.InstallerConnectSoft.HealthChecksAggregatorTemplate.Installer
ConnectSoft.PlatformTemplate is intentionally excluded for now because it is not currently exposed as a template installer package.
High-Level Flow¶
- Run on a nightly schedule.
- Resolve latest installer versions from Azure Artifacts (simple latest logic).
- Download
.nupkginstallers and publish as a pipeline artifact. - Run matrix jobs in parallel:
- install template from local
.nupkg - scaffold solution/project variations
dotnet restoredotnet build -c Release- unit-test-focused
dotnet test - Publish test results and publish generated scaffolds on failures for troubleshooting.
Design Decisions¶
- No docs repo checkout in this pipeline: documentation repositories are not checked out and are not committed from this pipeline. Documentation is maintained directly in docs repositories.
- Simple latest package selection: latest package version is resolved from feed metadata (
isLatest) without additional release-view filtering. - Matrix strategy: each
{template, variation}is isolated to keep failures localized and maximize parallelism. - Unit-test-first validation: integration/e2e/acceptance tests are excluded by default to keep nightly runtime stable and predictable.
Operational Notes¶
- If a template variation fails, inspect:
- TRX test results (if present)
- scaffold artifact published for the failed matrix job
- To add new templates:
- add package id to download list
- add short name and variation entries in the matrix
- keep variations representative but minimal