Keep version groups out of the leftover-lane exclusion - #10629
Merged
Conversation
New-DbaDatabase.Tests.ps1 and Install-DbaCommunitySoftware.Tests.ps1 were the only test files referencing InstanceSingle and InstanceMulti at once. The scenario autodetection excludes a file that matches a second scenario string from both scenarios, so these two files ran in no scenario-scoped run at all - a -Scenario SINGLE or MULTI lab run silently skipped them, and on CI New-DbaDatabase.Tests.ps1 ran in no lane whatsoever, because its membership in the 2008R2SP2Express group also removed it from the leftover lane. Both files need two instances anyway, so their single-instance work now runs on InstanceMulti1 and the files land cleanly in MULTI. The misleading variable $InstanceSingle in New-DbaDatabase.Tests.ps1, which actually held a connection to InstanceMulti1, is renamed serverMulti1 alongside instance3 becoming serverMulti2. Verified green on SQL03\SQL2025 and SQL03\SQL2022: New-DbaDatabase 13/13, Install-DbaCommunitySoftware 21 passed with the documented pwsh-edition skips. (do New-DbaDatabase, Install-DbaCommunitySoftware) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The leftover lane (any scenario name that is not a group key, like the CI matrix entry "default") is computed as all tests minus every group in pester.groups.ps1 - including the explicit 2008R2SP2Express list, whose lane no longer exists in the CI matrix. A file in that list that does not land in an autodetect scenario therefore ran in no lane at all: Invoke-DbaDbLogShipping.Tests.ps1 (no instance references), and New-DbaDatabase.Tests.ps1 until its lane fix. The autodetect path already anticipates this: computing tied functions skips groups named 20* so version groups stay additive. The leftover lane computation now applies the same filter. Verified by computing the default lane before and after: the orphaned files are included, files of autodetect scenarios stay excluded. (do Invoke-DbaDbLogShipping) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ersion-groups The leftover-lane change releases New-DbaDatabase.Tests.ps1 into the default lane, which provisions no instances, so this branch needs the mixed-instance file moves from #10628 to be green on its own. (do New-DbaDatabase, Install-DbaCommunitySoftware)
Collaborator
Author
|
The created by Claude and reviewed by Andreas Jordan |
potatoqualitee
approved these changes
Aug 30, 2026
potatoqualitee
left a comment
Member
There was a problem hiding this comment.
Reviewed the complete current head, version-group/additive selector semantics, final MULTI routing, and exact-head matrix evidence. No material CI coverage or correctness issues found.
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 leftover lane - any
SCENARIOvalue that is not a group key, which is how the CI matrix entrydefaultworks - is computed inGet-TestsForBuildScenarioas all tests minus every valid group inpester.groups.ps1. That subtraction included the explicit2008R2SP2Expresslist, whose lane existed on AppVeyor but is not in the current CI matrix. Consequence: a file on that list that does not land in an autodetect scenario ran in no lane at all. Concretely:Invoke-DbaDbLogShipping.Tests.ps1(unit-only, no instance references - even its parameter validation never ran on CI), andNew-DbaDatabase.Tests.ps1until #10628.The autodetect path already anticipates exactly this class of problem: when computing tied functions it deliberately skips groups named
20*so that version groups stay additive - "also run these on an old-version lane" - rather than subtractive. This PR applies the same one-line filter to the leftover-lane computation, with a comment explaining why. The2008R2SP2Expressgroup itself stays untouched and ready for an old-version lane to return.Verification
Computed the
defaultlane with the fix in a fresh process: 219 files, now including the orphanedInvoke-DbaDbLogShipping.Tests.ps1, while files belonging to autodetect scenarios (spot check:Get-DbaDatabase.Tests.ps1) remain excluded. Scenario-scoped lanes are unaffected - the change only touches theelsebranch for non-key scenario names.created by Claude and reviewed by Andreas Jordan
🤖 Generated with Claude Code