Skip to content
Purview Dev logo

Build

Stable

The shared build, test, and release system for purview-dev.

build-pipeline cd ci composite-action csharp devops dogfooding dotnet github-actions modular-pipelines nuget reusable-workflow

The problem

The shared build/test/release system for the purview-dev organisation. A Modular Pipelines based .NET tool packaged as a pinned dotnet tool, exposed through a GitHub composite action and thin reusable workflows. Consuming repositories own configuration; they do not own pipeline source code.

From the repository

Shared build/test/release pipeline for purview-dev. A Modular Pipelines based .NET tool (Purview.Build) with a GitHub composite action and reusable workflows; consumers configure, the pipeline runs.

Why it became a project

Maintaining near-identical build, test, pack, and release logic across repositories turned the pipeline itself into reusable tooling.

Where it fits

Use it when

You maintain a Purview repository and want the shared, centrally versioned build and release conventions used across the organisation.

It may not fit when

Your repository is outside that convention set or needs a substantially different pipeline whose lifecycle should remain independent.

Use cases

Concrete examples of what Build does, and who each one is for.

Team lead

One reusable pipeline for every repository

You maintain several repositories that each repeat the same build, test, pack, and release logic, and the copies drift apart.

yaml
# .github/workflows/pr.yml
jobs:
  build:
    uses: purview-dev/build/.github/workflows/purview-build.yml@main
    secrets: inherit

What you get: Consumers reference the reusable workflow or composite action and configure behaviour with purview-build.json instead of owning pipeline source.

Pipeline code lives in one repository; a consuming repository is a short workflow file plus configuration.

Read the guide →
Contributor

Dogfood the same pipeline the organisation uses

You want local commands, pull-request CI, and releases to run the exact same tool and conventions, rather than three approximations.

What you get: The pipeline is a Modular Pipelines .NET tool packaged as a pinned dotnet tool, callable from a composite action, reusable workflows, or the local command line.

Purview's own repositories use the published pipeline, so the tool is exercised on every build.

Read the guide →

Packages

1 package

Purview.BuildInstall ↓0.8.0—3,395

Install

Global tool
dotnet tool install --global Purview.Build