Skip to content

ci: run the Redux Build System (rbs) report, soft for now - #31

Merged
4 commits merged into
ReduxISU:mainfrom
Trosper3:ci/rbs
Oct 17, 2026
Merged

4 commits merged into
ReduxISU:mainfrom
Trosper3:ci/rbs

Conversation

@Trosper3

@Trosper3 Trosper3 commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Runs the Redux Build System (rbs) on SPADE, the same report Redux and Redux_GUI get: dependency audit, dotnet format check, build warnings, and unit tests with a coverage floor. It's soft for now: the report is posted on each PR, but the check stays green, and ci.yml remains the gate.

This is the new base of the stack: #11 builds on it, so every PR above gets the report too.

What changed

  • rbs.toml: dotnet engine, SPADE.slnx, coverage floor 70%. The goal is 80%+, and a coverage PR on top of the stack will raise the floor to 80.
  • .github/workflows/rbs.yml: the standard thin caller of the rbs reusable workflow, with soft: true.
  • .devcontainer/devcontainer.json: rbs runs the gates inside the repo's devcontainer. It uses the .NET 10 SDK, which reads .slnx and still builds the net6.0 library.
  • SPADE.slnx: the solution rbs builds and tests. fix(collections): hash sets independently of element order #11 adds the test project to it.
  • style: run dotnet format: whitespace and brace placement only, in 7 files, so the format check passes. Generated ANTLR files aren't touched.
  • publish.yml still does the NuGet release (rbs has no NuGet push), and ci.yml is unchanged.

Testing

Ran rbs ci in the devcontainer, on this branch and on the top of the stack (#28):

this PR #28
audit ✅ no known vulnerabilities ✅
format-check ✅ all files formatted ✅
lint ✅ (CS3021 warnings in generated ANTLR files) ✅
unit-test ✅ no tests yet ✅ 263 passed, coverage 82%

Coverage up the stack: #11 has 8%, #13 has 67% and #15 has 68%, so their reports show the coverage gate failing until the PRs above them land. #16 and up are at 71–82%.

🤖 Generated with Claude Code

rbs runs audit, format-check, lint (dotnet build) and unit tests with a
coverage floor inside the repo's devcontainer, the same way it does for
Redux. It reports without failing (soft) while ci.yml stays the gate;
publish.yml keeps doing the NuGet release, since rbs has no NuGet push.

- SPADE.slnx: the dotnet engine needs a solution. It names only
  DiscreteParser.csproj for now; the test project joins it with the first
  fix PR. ci.yml and publish.yml name DiscreteParser.csproj explicitly, so
  the MSB1011 a bare `dotnet build` now gives does not affect them.
- rbs.toml: coverage floor 70; the goal is 80%+.
- .devcontainer: SDK 10 (reads .slnx, builds the net6.0 library) plus the
  .NET 8 runtime the tests run on.
- .gitignore: rbs's .rbs/ work directory and report.md.
Whitespace only: dotnet format SPADE.slnx, so rbs's format-check starts clean. Brace placement, indentation and blank lines; no code changes.
The tests move to net10.0, so the container no longer needs the .NET 8
runtime feature next to the SDK 10 image. SDK 10 still reads SPADE.slnx
and builds the net6.0 library.
@Trosper3 Trosper3 closed this pull request by merging all changes into ReduxISU:main in 4b4f299 Oct 17, 2026
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.

1 participant