-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move setting variables to HelixPreCommands #96713
Move setting variables to HelixPreCommands #96713
Conversation
Don't inject them in the generated RunTests.cmd script. Namely, `__IsXUnitLogCheckerSupported=1` and `__TestArchitecture`.
Tagging subscribers to this area: @dotnet/area-infrastructure-libraries Issue DetailsDon't inject them in the generated RunTests.cmd script. Namely,
|
This is interesting as @agocke suggested in @carlossanlop's original PR to use the script infrastructure. |
Tagging subscribers to this area: @dotnet/runtime-infrastructure Issue DetailsDon't inject them in the generated RunTests.cmd script. Namely,
|
+1, agreed. @BruceForstall - I actually got my first PR blocked from merging until I moved the setting of the variables inside the runner scripts. Since your change is essentially going in the opposite direction, it would conflict with Andy's original blocking request. @agocke, @ivdiazsa @hoyosjs can you please weigh in on this change? It's affecting both coreclr and libraries so this sounds like a decision that needs to be made by the XUnitLogChecker owners. |
/azp run runtime-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at these changes as they are, I don't think they would cause any problems. That said, let's wait until the pipelines come back with results. I also started an outerloop run to get better coverage. If everything goes fine, then I think we should be able to merge this.
My comments said, I still would like to hear the motivation behind this, as Andy Gocke preferred the original way and explained why in Carlos' original PR. |
I mentioned in #95762 (comment) that I would prefer that I don't care so much about |
The main thing I wanted to prevent was us messing with the YAML to run tests, as I have a high degree of concern with trying to flow down too much information. This still avoids messing with YAML, so I would be OK with moving this to the helix invocation scripts. |
Also, no opinion on the TestArchitecture stuff -- I was focusing on the LogCheckerSupported pieces. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for your input @agocke. In this case, then I have no further comments on this, besides that it lgtm. I've rerun the failing pipelines. I think those failures were unrelated, but I'm not 100% sure. If this is the case, and no one else has further comments to address, then I would say this is good and ready to merge.
Just change `__TestArchitecture` setting. I don't want to risk potential complications in the complex way in which `__IsXUnitLogCheckerSupported` is chosen to be set.
@@ -72,10 +72,7 @@ | |||
<ItemGroup Condition="'$(IsXUnitLogCheckerSupported)' == 'true' and | |||
'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and | |||
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '$(NETCoreAppCurrentVersion)'))"> | |||
<SetScriptCommands Condition="'$(TargetOS)' == 'windows'" Include="set __TestArchitecture=$(TargetArchitecture)" /> | |||
<SetScriptCommands Condition="'$(TargetOS)' == 'windows'" Include="set __IsXUnitLogCheckerSupported=1" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is XUnitLogChecker just a CI tool or does it work locally as well when running tests? If the former then it might make sense to condition this item group on '$(ArchiveTests)' == 'true'
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe @ivdiazsa or @carlossanlop can answer that.
I realized I didn't want to mess with the XUnitLogChecker since a recent fix made it not break on local dev machines. So I've scoped back this PR to only fix the architecture-specific setting of __TestArchitecture
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
XUnitLogChecker can be run locally, but it has to be called manually by the user. Automatically, it's only run through the CI scripts. That said, it is always built alongside all common test tools, like for example with:
# XUnitLogChecker is included in all that would be built with this command.
src/tests/build.sh -x64 -release -generatelayoutonly
Move setting `__TestArchitecture` variable to HelixPreCommands In particular, restore the RunTests.cmd script as being architecture-independent.
Don't inject them in the generated RunTests.cmd script.
Namely,
__IsXUnitLogCheckerSupported=1
and__TestArchitecture
.