Release Flow
Release Flow
Section titled “Release Flow”Purview.ZodSharp releases are driven by the shared purview-dev/build pipeline through the GitHub Actions workflows in .github/workflows/.
Versioning
Section titled “Versioning”The package version comes from package.json (version field). The repo is currently on the 2.0.0-prerelease.* line. Bump package.json to release a new version.
Package identities are Purview.ZodSharp.* (core, SystemTextJson, NewtonsoftJson, AspNetCore). Central package management lives in Directory.Packages.props; package versions there are minimum requirements, not exact pins, so the resolved graph can drift.
Workflows
Section titled “Workflows”| Workflow | Trigger | Pipeline mode |
|---|---|---|
pr.yml |
pull requests against main |
purview-build.yml with run-pack: true, validate-pack: true |
release.yml |
pushes to main |
purview-release.yml with release-mode: NuGet |
Both consume purview-build.json:
Build— solution (src/ZodSharp.slnx), test root (src/tests), patterns (*Tests.csproj), filter (/*/*/*/*).PackValidation— requires symbol packages/files and validatesRequiredContentper package (per-TFM DLL + XML, analyzer assemblies andbuildTransitive/Purview.ZodSharp.propsfor the core package,README.mdandpurview-logo-light.pngfor every package).Release.Mode—Nonefor PR/local runs.
Pipeline commands
Section titled “Pipeline commands”just pipeline-pr # restore, build, lint, tests, pack, validate packjust pipeline-build # restore, build, lint (no tests, no release)just pipeline-tests # pipeline with tests enabledjust pipeline-release # pack, publish, GitHub release (NuGet mode)just pipeline-local-release # pack + publish to a local NuGet feedSee the Justfile for the full command set (just build, just test, just lint-check, just lint-fix, just pack, just perf-tests).
Commit conventions
Section titled “Commit conventions”Commits must follow Conventional Commits, enforced by Lefthook + Commitlint (.config/lefthook.yml and commitlint.config.mts). Allowed types: build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test.
Quality gates
Section titled “Quality gates”just buildsucceeds with no new warnings/errors.- Relevant tests pass (
just test). just lint-check(CSharpier) reports no formatting changes.- Packed packages match
purview-build.jsonPackValidation. - Generated code is deterministic and reviewable.