Repository navigation
fix(ci): fail the test job on compile errors and bump RoslynTestKit to 1.5.1 - #592
Merged
Merged
Conversation
Every test step in build-test.yml was continue-on-error, so a compile error in a test project (CS1705 from RoslynTestKit referencing a newer SDK than the leg's floor) produced no trx and was silently skipped; the daily build stayed green for weeks. Each test project is now built in its own step without continue-on-error, so a compile error fails the job at that step. `dotnet test --no-build` (same NavTargetFramework and Configuration, so it runs the exact build output) stays continue-on-error, so test failures still do not stop the remaining cops and AL versions from reporting together. The rules docs now describe the gate and the RoslynTestKit floor contract: the per-TFM floor moves down when Microsoft publishes a net10.0 build for an older AL major, and the remedy for CS1705 is re-pinning and releasing RoslynTestKit. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…he 16.10 floor RoslynTestKit 1.5.1 compiles its net10.0 lib against SDK 16.10.44.19458, the lowest marketplace net10.0 release, so it binds on every leg at or above the CI compile floor. Setup-BCDevTools.ps1 now pins net10.0 to the same 16.10 VSIX so the local compile floor equals the CI floor. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…r doc to current state The no-trx error in Merge Test Results now points at the Build steps as well as the Setup and Run steps. The floor row in get-bc-devtools.md drops its dated history, states the mechanism and current values, and explains why RoslynTestKit must be compiled against an SDK at or below the floor (CS1705). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The scheduled build is green although two net10.0 test legs (
Test v16.10.44.19458,Test v17.10.44.19457) compile none of the cop test projects.Root cause: the CI compile floor for net10.0 moved down to SDK 16.10.44.19458 when Microsoft published net10.0 VSIX builds for older AL majors (2026-10-18).
ALCops.RoslynTestKit1.5.0 references 18.0.41.39415, so every leg with an SDK below that fails with CS1705. EveryRun *.Teststep wascontinue-on-error, which hid the compile error: no trx, nothing reported, job green.This PR:
continue-on-error, then runsdotnet test --no-build(stillcontinue-on-error) so a compile error fails the job while test failures still let every cop x AL version report;ALCops.RoslynTestKitto 1.5.1 (net10.0 lib compiled against 16.10.44.19458, the lowest marketplace net10.0 release);.vscode/Setup-BCDevTools.ps1to the same 16.10 floor, and updates the rules docs.Commits
fix(ci): fail the test job when a test project does not compile- the CI gate and docs. Pushed first on purpose: its run is the failing-first proof of the gate.chore: bump RoslynTestKit to 1.5.1 and pin the local net10.0 SDK to the 16.10 floor- the fix.chore(ci): name the build steps in the no-trx error and keep the floor doc to current state- review follow-up.Developers
Re-run
.vscode/Setup-BCDevTools.ps1so the local net10.0 SDK matches the 16.10 floor.Test plan
dotnet test ALCops.slnfails with CS1705Test v16.10.44.19458andTest v17.10.44.19457fail atBuild ALCops.ApplicationCop.Testwith CS1705, all other legs green, merge/report steps still rundotnet test ALCops.slnpassesBuild ALCops.*.Teststeps per leg, no CS1705, "Test results" check greenReview notes
Setup-BCDevTools.ps1is unused but kept, so the pin can move back to a NuGet source when the floor does.🤖 Generated with Claude Code