Skip to content

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 solution must produce a clean materialized solution.
  • --artifact-kind template must 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 .nupkg artifacts.
  • A matrix strategy executes template variations in parallel.
  • Each variation performs:
  • scaffold from dotnet new
  • dotnet restore
  • dotnet 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.Installer
  • ConnectSoft.ApiGatewayTemplate.Installer
  • ConnectSoft.IdentityTemplate.Installer
  • ConnectSoft.AuthorizationServerTemplate.Installer
  • ConnectSoft.HealthChecksAggregatorTemplate.Installer
  • ConnectSoft.WorkerTemplate.Installer
  • ConnectSoft.MicrosoftBotFrameworkTemplate.Installer
  • ConnectSoft.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.Installer
  • ConnectSoft.MarketingSiteTemplate.Installer
  • ConnectSoft.MauiBaseTemplate.Installer
  • ConnectSoft.LibraryTemplate.Installer
  • ConnectSoft.ApiLibraryTemplate.Installer
  • ConnectSoft.AISkillsLibraryTemplate.Installer
  • ConnectSoft.Blazor.*Template.Installer