Repository navigation
feat: let run-tiered-tests.yml locate a test project outside a same-named folder - #84
Merged
Merged
Conversation
…amed folder Adds an optional TestProjectRelativePath parameter, used only to locate the extracted test project's folder under $(Build.SourcesDirectory)/src/ (and its .runsettings) - TestProject itself keeps naming the .csproj, test run title, and coverage/results artifact names exactly as before. Defaults to TestProject, so existing callers (grahamandtonic, whose test projects already live directly under a same-named folder) are unaffected. Needed for a consumer whose test project has a ProjectReference reaching into a differently-rooted sibling folder (tests/X referencing ../../src/Y, rather than everything nesting under one src/ tree) - the archive has to preserve the repo's real top-level layout for that reference to resolve, so the extracted test project no longer sits directly under a folder matching its own name.
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
TestProjectRelativePathparameter toAzureDevOpsTemplates/Deploy/JobTemplates/run-tiered-tests.yml, used only to locate the extracted test project's folder (and its.runsettings) under$(Build.SourcesDirectory)/src/.TestProjectitself keeps naming the.csproj, test run title, and coverage/results artifact names exactly as before.TestProject(coalesced), matching today's only behaviour, so existing callers are unaffected - grahamandtonic's test projects already live directly under a same-named folder.Why
Needed for
gandt-media's upcomingIntegrationTestsstage (part of the CI/CD refactor bringing grahamandtonic's tiered-test pattern to gandt-media). Its integration test project lives attests/gandt.media.console.tests.integration/with aProjectReferenceto../../src/gandt.media.console/- a source-level reference, not just a build-output dependency, so MSBuild needs the real referenced project source at that resolved relative path whendotnet testruns. grahamandtonic's repo nests its whole solution under onesrc/tree, sorun-tiered-tests.ymlhas always assumed the extracted test project sits directly under a folder named after itself. gandt-media'stests/+src/sibling layout doesn't fit that assumption - no combination of the existing parameters could satisfy both the extraction folder-naming requirement and get the referencedsrc/gandt.media.consolesource positioned correctly relative to it.Test plan
TestProjectRelativePathpassed) still compile/resolve correctly via the Pipeline Preview API before this mergesgandt-media) exercises this end-to-end against a real build🤖 Generated with Claude Code
https://claude.ai/code/session_01BGTTFHK6yRh4Frxayi5KVs