@@ -25,11 +25,9 @@ For a quick release walkthrough, see: [Quick Start Release](quick-start-release.
2525
2626### ` CI and Release `
2727- Triggers: ` push ` to ` main ` , ` pull_request ` targeting ` main ` , manual ` workflow_dispatch `
28- - Concurrency: ** Parallel by default** — multiple pushes can run simultaneously
29- - For serial execution: Settings → Variables → set ` CI_SERIAL=true ` (queues by branch)
30- - To cancel older runs: set ` CI_CANCEL_IN_PROGRESS=true `
31- - PR behavior: Runs Format Check + Build + Test + Coverage Report on ubuntu (with prerelease suffix)
32- - main push behavior: If ` VersionPrefix ` has been bumped (tag doesn't exist yet), triggers full-platform matrix Build + Test + Pack + Publish + PackageApp → approval → NuGet push + SBOM + Attestation + tag + GitHub Release → documentation deployment. Otherwise, runs CI-only (build + test).
28+ - Concurrency: Grouped by branch (` ci-${{ github.ref }} ` ), newer pushes automatically cancel older in-progress runs
29+ - PR behavior: Runs multi-platform Build + Test (Format Check + Coverage Report on linux only, Pack verification on linux) with prerelease suffix
30+ - main push behavior: If ` VersionPrefix ` has been bumped (tag doesn't exist yet), triggers full-platform matrix Build + Test + Pack + Publish + PackageApp → approval → NuGet push + SBOM + Attestation + tag + GitHub Release → documentation deployment. Otherwise, runs CI-only (multi-platform build + test + linux pack verification).
3331- Artifacts: Test results (with PR annotations), coverage reports, NuGet packages (with release manifest), platform installer zips, SBOM
3432
3533### ` CodeQL `
@@ -44,14 +42,14 @@ For a quick release walkthrough, see: [Quick Start Release](quick-start-release.
4442### ` resolve-version `
4543- Reads ` VersionPrefix ` from ` Directory.Build.props ` , validates semver format (3-segment: ` Major.Minor.Patch ` )
4644- Determines if this is a release: main push + tag ` v{version} ` does not exist yet = release; otherwise CI-only
47- - Computes the build matrix: PR uses ubuntu only, release includes win/ linux/osx
45+ - Computes the build matrix: all modes use multi-platform ( linux/win/ osx); release additionally enables publish
4846
4947### ` build-and-test `
5048- Matrix build: each platform runs Build + Test
5149- Linux runner additionally runs Format Check (` dotnet format --verify-no-changes ` ) and Coverage Report
5250- PR: uses ` --VersionSuffix "ci.<run_number>" `
5351- main push: no suffix (locks the release version)
54- - Linux runner additionally runs Pack + GenerateReleaseManifest (generates SHA256 manifest)
52+ - Linux runner additionally runs Pack (always, as a pre-release quality gate); GenerateReleaseManifest runs only for releases
5553- All platforms run Publish + PackageApp, producing installer zips (` app-{runtime}.zip ` )
5654- Test results are displayed directly in PR checks via ` dorny/test-reporter `
5755
0 commit comments