Skip to content

ci: adopt the ci-baseline v1 checks - #210

Merged
MarcelRoozekrans merged 1 commit into
mainfrom
ci/adopt-ci-baseline
Nov 4, 2026
Merged

MarcelRoozekrans merged 1 commit into
mainfrom
ci/adopt-ci-baseline

Conversation

@MarcelRoozekrans

Copy link
Copy Markdown
Contributor

Summary

Adopts the shared CI security and quality baseline, ci-baseline v1: secret scanning, CodeQL, NuGetAudit, a line coverage floor with a codecov drop check, and an SBOM on every release.

Type of Change

  • feat — New feature
  • fix — Bug fix
  • perf — Performance improvement
  • refactor — Code refactoring (no behavior change)
  • docs — Documentation only
  • test — Adding or updating tests
  • build / ci — Build system or CI changes
  • chore — Maintenance

Changes

  • baseline-checks.yml: calls baseline.yml@v1 as job baseline on pull requests and pushes to main, for gitleaks, CodeQL and NuGetAudit on ZeroAlloc.StateMachine.slnx, with the SDK from global.json.
  • history-scan.yml: manual full-history gitleaks scan, with the optional GITLEAKS_CONFIG secret.
  • ci.yml: the coverage gate runs in the build job right after the tests, on the reports in TestResults/, before the codecov upload.
  • codecov.yml: the baseline policy. The project status compares with the base commit and fails on a drop of more than 1 point. The informational project and patch statuses and the comment settings are gone, as the baseline requires.
  • release-please.yml: a new sbom job builds the release tag after publish and attaches a CycloneDX SBOM to the GitHub release, using release-please's tag_name.
  • Directory.Build.props: NuGetAudit properties, so a local restore shows the same advisories as CI.

Breaking Changes

None

Test Plan

  • All existing tests pass (dotnet test)
  • New tests added for new functionality

CI on this pull request runs the new baseline jobs and the coverage gate. The sbom job only runs on a release.

After merge, the main ruleset can require baseline / gitleaks, baseline / codeql (csharp), baseline / nuget-audit and build.

Checklist

  • Commit messages follow Conventional Commits
  • Code builds without warnings
  • No secrets or credentials in committed files

Add baseline-checks.yml, which calls the ci-baseline baseline workflow for
gitleaks, CodeQL and NuGetAudit on pull requests and pushes to main, and
history-scan.yml, a manual full-history secret scan. Both pin @v1.

Run the coverage gate in the build job right after the tests, set codecov.yml
to the baseline policy, attach a CycloneDX SBOM to each release in a new sbom
job, and set the NuGetAudit properties in Directory.Build.props.
@codecov

codecov Bot commented Nov 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@MarcelRoozekrans
MarcelRoozekrans merged commit 1374955 into main Nov 4, 2026
16 checks passed
@MarcelRoozekrans
MarcelRoozekrans deleted the ci/adopt-ci-baseline branch November 4, 2026 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants