Nightly Template Validation Pipeline¶
Purpose¶
The ConnectSoft platform uses a nightly pipeline to validate template installers from Azure Artifacts. This protects template quality by continuously checking scaffold, restore, build, and unit-test behavior across representative variations.
For backend/service templates, the pipeline also validates the artifact-kind contract:
--artifact-kind solutionmust produce a clean materialized solution.--artifact-kind templatemust produce an authoring-ready next-layer template artifact.
Pipeline Ownership and Location¶
- Repository:
ConnectSoft.AzurePipelines - File:
nightly-validate-template-installers.yml
Approach¶
- The pipeline resolves and downloads the latest installer packages from feed
ConnectSoft. - Templates are installed from local
.nupkgartifacts. - A matrix strategy executes template variations in parallel.
- Each variation performs:
- scaffold from
dotnet new dotnet restoredotnet build -c Release- unit-test-focused
dotnet test - Backend/service template variations also run artifact validation:
- source template package metadata exposes
ArtifactKind - generated solution has no template authoring infrastructure
- generated template contains template metadata, manifest, and authoring dependencies
- TRX test outputs are published when present.
- Scaffold outputs are published on failures for debugging.
Documentation Model¶
Documentation repositories are not checked out by this pipeline.
Instead, docs are updated and versioned directly in documentation repositories through normal documentation change workflows. This keeps CI validation responsibilities separate from documentation publishing concerns.
Backend Templates Covered By Artifact-Kind Validation¶
ConnectSoft.BaseTemplate.InstallerConnectSoft.ApiGatewayTemplate.InstallerConnectSoft.IdentityTemplate.InstallerConnectSoft.AuthorizationServerTemplate.InstallerConnectSoft.HealthChecksAggregatorTemplate.InstallerConnectSoft.WorkerTemplate.InstallerConnectSoft.MicrosoftBotFrameworkTemplate.InstallerConnectSoft.Saas.*Template.Installer
ConnectSoft.PlatformTemplate is currently excluded until an installer package flow is finalized.
Deferred template families for a later artifact-model decision:
ConnectSoft.DocumentationTemplate.InstallerConnectSoft.MarketingSiteTemplate.InstallerConnectSoft.MauiBaseTemplate.InstallerConnectSoft.LibraryTemplate.InstallerConnectSoft.ApiLibraryTemplate.InstallerConnectSoft.AISkillsLibraryTemplate.InstallerConnectSoft.Blazor.*Template.Installer