Repository navigation
Commit cbaba71
committed
ci: adopt the consolidated .NET workflow [patch]
Every ktsu .NET repository carried its own copy of dotnet.yml and they had
drifted into five different files. This replaces the local copy with one
canonical workflow that is byte-identical in every repository, folding in the
drift rather than flattening it.
The drift, and where it went:
* macOS is back in the test matrix. It had been excluded org-wide because a
macOS runner widened one repository's target frameworks to include a
net10.0-ios head needing a workload this job does not install. That widening
is now opt-in, so every other repository stops paying for it. UI test
projects still run on Linux only, so a macOS cell stays cheap.
* The UI-test rule is now "Linux runs them, every other platform does not",
rather than naming Windows, so a platform added later gets the cheap
treatment by default instead of silently inheriting the expensive one.
* The Linux coverage report's paths are rewritten to this job's workspace
before analysis. Sonar matches coverage to source by path, so a Linux-only
suite's coverage was being dropped without a word. The step no-ops where
there is no Linux report.
* The test and release jobs install the 8.0 and 9.0 runtimes alongside the
pinned SDK, because test projects commonly multi-target every framework
their library publishes and the test host needs those runtimes present.
global.json still pins the SDK, so this only adds runtimes.
* Coverage exclusions are extensible per repository through the
SONAR_COVERAGE_EXCLUSIONS_EXTRA variable, so a repository with a file that
cannot be executed rather than one nobody has tested yet can say so without
editing this file and making every other repository carry its paths.
* A SonarQube Cloud outage skips analysis instead of failing the build, and is
never dressed up as a pass. Where the gate is blocking, an outage still fails.
* Stale comments explaining one repository's circumstances are rewritten to
explain the shared rule, with the measurements kept and attributed.
Nothing in the pipeline's shape changed: the same jobs, the same steps, the
same order.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015qxqZVzN8CJcDxTb5gtWua1 parent 91e0964 commit cbaba71
1 file changed
Lines changed: 210 additions & 36 deletions
0 commit comments