Gitea build: runs the Windows adapter tests (the UiTests assembly minus the new Desktop category) and the seeded fuzz campaigns (500 iterations on topic branches, 10000 on main and tags). Clears TestResults first because the host runner keeps its workspace. Drops secrets: inherit; the shared workflow uses the job token.
Coverage gate: a package with no measured lines fails; the gate names the report it used and lists only that report's uncovered lines. Pester tests cover each rule.
Core lock: removes EnableSingleFileAnalyzer, which locked the SDK linker package for a command-line head this repository does not have.
Docs: CLAUDE.md, DEVELOPERS.md and CONTRIBUTING.md give the commands CI runs and say which checks have no automated run while the GitHub mirror has Actions switched off. RELEASING.md states that a tag currently publishes nothing.
Test hygiene: the shared temp folder and the test registry parent key are removed when the last test using them is done.
Checks run
All local gates: locked restore, zero-warning build, format, 677 core tests at 100% line coverage, 30 adapter tests, fuzz at 500, script analyzer, Pester, eslint, node tests.
Locked self-contained dotnet publish of the app and of the update probe after the lock change: both restore and publish.
Not run
The Desktop tests and installed-update acceptance.
Closes #54
## What changes
- **Gitea build**: runs the Windows adapter tests (the UiTests assembly minus the new `Desktop` category) and the seeded fuzz campaigns (500 iterations on topic branches, 10000 on `main` and tags). Clears `TestResults` first because the host runner keeps its workspace. Drops `secrets: inherit`; the shared workflow uses the job token.
- **Coverage gate**: a package with no measured lines fails; the gate names the report it used and lists only that report's uncovered lines. Pester tests cover each rule.
- **Core lock**: removes `EnableSingleFileAnalyzer`, which locked the SDK linker package for a command-line head this repository does not have.
- **Docs**: CLAUDE.md, DEVELOPERS.md and CONTRIBUTING.md give the commands CI runs and say which checks have no automated run while the GitHub mirror has Actions switched off. RELEASING.md states that a tag currently publishes nothing.
- **Test hygiene**: the shared temp folder and the test registry parent key are removed when the last test using them is done.
## Checks run
- All local gates: locked restore, zero-warning build, format, 677 core tests at 100% line coverage, 30 adapter tests, fuzz at 500, script analyzer, Pester, eslint, node tests.
- Locked self-contained `dotnet publish` of the app and of the update probe after the lock change: both restore and publish.
## Not run
- The `Desktop` tests and installed-update acceptance.
AI assistance: written with Claude Fable 5.2.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
The Gitea build now runs the Windows adapter tests (everything in the
UiTests assembly outside the new Desktop category) and the seeded
parser campaigns: 500 iterations on topic branches, 10000 on main and
tags. It clears the results directory first, because the host runner
keeps its workspace, and no longer passes secrets it does not use.
The coverage gate rejects a package with no measured lines, names the
report it used, and lists only that report's uncovered lines.
The core project no longer locks the SDK linker package: no project
publishes as a single file, and the entry broke locked restore
whenever the SDK patch level moved. Locked self-contained publishing
of the app and the update probe still restores.
Developer docs give the commands CI runs, say which checks have no
automated run while the GitHub mirror has Actions switched off, and
state that a tag currently publishes nothing. Test temp folders and
the test registry parent key are removed when the last test is done.
Closes#54
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Signed-off-by: James Maes <james@kof22.com>
The coverage gate now counts covered lines itself instead of reading
the report's summary rate, matches package names exactly, and shows
the percentage rounded down. Its tests cover reports whose stated rate
disagrees with their lines, several packages, and several reports.
The long fuzz campaigns run only on main and tags, where they differ
from what the ordinary test run already did, decide that from the ref,
print the iteration count, and fail when their filter matches no test.
Test helpers no longer remove the temp folder and registry key that
all test processes share: a second process could be creating its own
entry there at that moment.
AGENTS.md, the fuzzing assessment and the installed-update guide
describe what runs today.
Refs #54
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Signed-off-by: James Maes <james@kof22.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #54
What changes
Desktopcategory) and the seeded fuzz campaigns (500 iterations on topic branches, 10000 onmainand tags). ClearsTestResultsfirst because the host runner keeps its workspace. Dropssecrets: inherit; the shared workflow uses the job token.EnableSingleFileAnalyzer, which locked the SDK linker package for a command-line head this repository does not have.Checks run
dotnet publishof the app and of the update probe after the lock change: both restore and publish.Not run
Desktoptests and installed-update acceptance.AI assistance: written with Claude Fable 5.2.
🤖 Generated with Claude Code
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.