MIL-007 tasks 4 and 5 (#98 and #99): the reusable quality-check workflows for C++ and C#, as ADR-0008 decides.
C and C++: quality-checks-cpp.yml and tools/quality-checks-cpp.sh
clang-format --dry-run -Werror and clang-tidy on the tracked C and C++ files, installed from PyPI at exact versions (inputs clang-format-version 23.1.3, clang-tidy-version 22.1.8). No cppcheck.
Inputs: working-directory, std (default c++20), compile-commands-dir, tools-ref. .c files are checked as C17.
A missing .clang-format (searched upward to the top of the repository) or a compile-commands-dir without compile_commands.json is a [configuration] failure; a repository without C or C++ files passes with a notice.
C#: quality-checks-csharp.yml and tools/quality-checks-csharp.sh
dotnet format --verify-no-changes and dotnet build -warnaserror on a .NET SDK installed at an exact version with the official dotnet-install.sh (input dotnet-sdk-version, default 10.0.401; anything below 10, a channel or a range is a [configuration] failure).
Inputs: working-directory, project (empty: the single solution, else the single project), tools-ref. Several candidates, or C# files without a solution or project, is a [configuration] failure that names them.
Common: least-privilege permissions, no secret, no embedded script (the workflow fetches the script at tools-ref and runs one command per step), every tool runs even when another failed, FAIL lines and ::group:: per tool as in quality-checks.yml.
Tests: 83 new offline tests with stub tools (394 in total, all pass); both scripts are clean under shellcheck and shfmt -i 2 -ci. The tests found and fixed an endless loop in the search for .clang-format. The test file was tidied by the python-developer agent as the project rule requires, and its type annotations and line lengths re-checked.
Not verified live: neither workflow has run on a real runner or a real project yet; that is task #101 (adoption with a seeded failure), and criteria 3 and 4 of MIL-007 are not claimed here.
Home (README, Danish and Malay pages) lists both workflows with a PlantUML diagram each (a test requires it). The guides and the dedicated wiki pages are task #100.
MIL-007 tasks 4 and 5 (#98 and #99): the reusable quality-check workflows for C++ and C#, as ADR-0008 decides.
**C and C++: `quality-checks-cpp.yml` and `tools/quality-checks-cpp.sh`**
- `clang-format --dry-run -Werror` and `clang-tidy` on the tracked C and C++ files, installed from PyPI at exact versions (inputs `clang-format-version` 23.1.3, `clang-tidy-version` 22.1.8). No `cppcheck`.
- Inputs: `working-directory`, `std` (default `c++20`), `compile-commands-dir`, `tools-ref`. `.c` files are checked as C17.
- A missing `.clang-format` (searched upward to the top of the repository) or a `compile-commands-dir` without `compile_commands.json` is a `[configuration]` failure; a repository without C or C++ files passes with a notice.
**C#: `quality-checks-csharp.yml` and `tools/quality-checks-csharp.sh`**
- `dotnet format --verify-no-changes` and `dotnet build -warnaserror` on a .NET SDK installed at an exact version with the official `dotnet-install.sh` (input `dotnet-sdk-version`, default `10.0.401`; anything below 10, a channel or a range is a `[configuration]` failure).
- Inputs: `working-directory`, `project` (empty: the single solution, else the single project), `tools-ref`. Several candidates, or C# files without a solution or project, is a `[configuration]` failure that names them.
**Common:** least-privilege permissions, no secret, no embedded script (the workflow fetches the script at `tools-ref` and runs one command per step), every tool runs even when another failed, `FAIL` lines and `::group::` per tool as in `quality-checks.yml`.
**Tests:** 83 new offline tests with stub tools (394 in total, all pass); both scripts are clean under shellcheck and `shfmt -i 2 -ci`. The tests found and fixed an endless loop in the search for `.clang-format`. The test file was tidied by the `python-developer` agent as the project rule requires, and its type annotations and line lengths re-checked.
**Not verified live:** neither workflow has run on a real runner or a real project yet; that is task #101 (adoption with a seeded failure), and criteria 3 and 4 of MIL-007 are not claimed here.
Home (README, Danish and Malay pages) lists both workflows with a PlantUML diagram each (a test requires it). The guides and the dedicated wiki pages are task #100.
Wiki pages changed: Home (en, da, ms).
Closes #98
Closes #99
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.
MIL-007 tasks 4 and 5 (#98 and #99): the reusable quality-check workflows for C++ and C#, as ADR-0008 decides.
C and C++:
quality-checks-cpp.ymlandtools/quality-checks-cpp.shclang-format --dry-run -Werrorandclang-tidyon the tracked C and C++ files, installed from PyPI at exact versions (inputsclang-format-version23.1.3,clang-tidy-version22.1.8). Nocppcheck.working-directory,std(defaultc++20),compile-commands-dir,tools-ref..cfiles are checked as C17..clang-format(searched upward to the top of the repository) or acompile-commands-dirwithoutcompile_commands.jsonis a[configuration]failure; a repository without C or C++ files passes with a notice.C#:
quality-checks-csharp.ymlandtools/quality-checks-csharp.shdotnet format --verify-no-changesanddotnet build -warnaserroron a .NET SDK installed at an exact version with the officialdotnet-install.sh(inputdotnet-sdk-version, default10.0.401; anything below 10, a channel or a range is a[configuration]failure).working-directory,project(empty: the single solution, else the single project),tools-ref. Several candidates, or C# files without a solution or project, is a[configuration]failure that names them.Common: least-privilege permissions, no secret, no embedded script (the workflow fetches the script at
tools-refand runs one command per step), every tool runs even when another failed,FAILlines and::group::per tool as inquality-checks.yml.Tests: 83 new offline tests with stub tools (394 in total, all pass); both scripts are clean under shellcheck and
shfmt -i 2 -ci. The tests found and fixed an endless loop in the search for.clang-format. The test file was tidied by thepython-developeragent as the project rule requires, and its type annotations and line lengths re-checked.Not verified live: neither workflow has run on a real runner or a real project yet; that is task #101 (adoption with a seeded failure), and criteria 3 and 4 of MIL-007 are not claimed here.
Home (README, Danish and Malay pages) lists both workflows with a PlantUML diagram each (a test requires it). The guides and the dedicated wiki pages are task #100.
Wiki pages changed: Home (en, da, ms).
Closes #98
Closes #99
a26f44c267to77f91cf066View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.