-
Notifications
You must be signed in to change notification settings - Fork 0
CI CD
Yasunobu edited this page Jun 26, 2026
·
1 revision
Three GitHub Actions workflows, plus Dependabot. All use least-privilege permissions, and every job
that builds C# sets up the same pinned toolchain via jdx/mise-action, so CI matches local builds
exactly.
-
Triggers: push and pull_request to
main. -
Permissions:
contents: read. Concurrency-cancels superseded runs per ref. -
Steps (windows-latest): checkout → mise setup →
just build→just test. -
The quality gate:
just buildis a Debug build, andDirectory.Build.propsmakes Debug treat warnings as errors. So every analyzer and code-style warning is a hard CI failure. See Building & Tasks.
-
Triggers: push to
mainand a weekly schedule (cron: '24 6 * * 1', Mondays 06:24 UTC). PRs are intentionally left toci.ymlto avoid double load. -
Matrix:
-
csharp—build-mode: manualon windows-latest, compiled withjust build(the same mise .NET 10). This is the important bit: C# here targets anet*-windowsTFM, which can'trestoreon Ubuntu / buildless, producing an empty database. Tracing a real Windows build yields a complete C# database (this is why the project moved to an advanced/manual setup). -
actions—build-mode: noneon ubuntu-latest (workflow analysis needs no build).
-
-
Permissions: read-only except
security-events: writefor uploading results.
Two ecosystems, both weekly, up to 10 open PRs each:
| Ecosystem | Covers | Commit prefix |
|---|---|---|
nuget |
WindowsAppSDK, CommunityToolkit, CsWin32, xunit, coverlet, … | chore(deps) |
github-actions |
checkout, mise-action, action-gh-release, … | chore(ci) |
Dependabot PRs run through ci.yml (and merge under the same protected-main rules as any other PR —
see Contributing).
Release packaging is a separate, tag-driven workflow — see Release Process.
Related: Building & Tasks · Release Process · Contributing
KeepPressing · Releases · Issues · Licensed under Apache-2.0
Getting started
User guide
Developer guide