Remove steps from test jobs#49452
Conversation
| <SystemIOFileSystemPrimitivesVersion>4.3.0</SystemIOFileSystemPrimitivesVersion> | ||
| <SystemIOPipesAccessControlVersion>4.5.1</SystemIOPipesAccessControlVersion> | ||
| <SystemIOPipelinesVersion>4.7.0</SystemIOPipelinesVersion> | ||
| <SystemManagementVersion>5.0.0-preview.8.20407.11</SystemManagementVersion> |
There was a problem hiding this comment.
The version here is repeated and essentially lines up to the .NET SDK version we are using. Consider factoring this out to a property just as we do for our VS references. That will make future updates easier and more consistent.
There was a problem hiding this comment.
Should MicrosoftCodeAnalysisNetAnalyzersVersion be repurposed to do this?
Line 31 in d2bc24a
There was a problem hiding this comment.
I think we should keep those separate. There have been times in the past where we have rev'd analyzers and SDK references at different times. Or another way to think about it is that we should expect drift between components that come from different GitHub repositories even if they all ship in the .NET SDK.
There was a problem hiding this comment.
Sounds good, I think we should look at doing this in a subsequent PR.
| queue: ${{ parameters.queueName }} | ||
| timeoutInMinutes: 120 | ||
| steps: | ||
| - checkout: none |
| "src/Workspaces/MSBuildTest/Resources/Directory.Build.targets", | ||
| "src/Workspaces/MSBuildTest/Resources/Directory.Build.rsp", | ||
| "src/Workspaces/MSBuildTest/Resources/NuGet.Config", | ||
| }; |
There was a problem hiding this comment.
Why did you keep them here vs. putting them under the eng directory?
There was a problem hiding this comment.
Unit tests within src/Workspaces/MSBuildTest depend on being able to embed these resources. Moving them seemed to introduce more pain than just leaving them here and including them in the test payload to make eng/build.ps1 happy.
There was a problem hiding this comment.
Hmm, thought I had mostly fixed up the Unit Tests problems in the Clone2 PR. Must have missed a few. Can clean this up later though.
There was a problem hiding this comment.
I am hoping that with @jasonmalinowski's guidance, it will be fairly straightforward to fix #49486 and remove this concern from eng/build.ps1 entirely.
Co-authored-by: Jared Parsons <jaredpparsons@gmail.com>
|
Ping @dotnet/roslyn-infrastructure for review |
| fi | ||
| dotnet exec "$scriptroot/../artifacts/bin/RunTests/${configuration}/netcoreapp3.1/RunTests.dll" --tfm netcoreapp3.1 --tfm net5.0 --configuration ${configuration} --dotnet ${_InitializeDotNetCli}/dotnet $runtests_args | ||
| fi | ||
| ExitWithExitCode 0 |
There was a problem hiding this comment.
Have you guys considered rewriting the build script using C# (possibly something like this). With top-level statements that would look the same too!
I think at this point it would make sense to push C# as the language of choice for this sort of things.
There was a problem hiding this comment.
Making it easier to deploy tooling like this is definitely on my radar. My personal goal is that we can get to a point in .NET 6 where we can dotnet run some_file.cs. Essentially have the dotnet run infrastructure generate project files in the background, compile them and then execute the resulting binary. At that point we can essentially have single C# file programs that we can run across all the OS that we support. That should make scenarios like this a lot easier to handle.
There was a problem hiding this comment.
If I never write another line of bash in my life, it will be too soon
...I say, before moving on to a task that will very likely involve writing bash
There was a problem hiding this comment.
dotnet run some_file.cs
You will probably need to add some [nuget] references along the way. Personally I wouldn't mind having a minimal project file (which already has full tooling support), then build.sh would reduce to this.
* upstream/master: (265 commits) Use extra generic type parameters and apply C#-specific knowledge to all langs instead of using inheritance Cover all changed code paths Stop removing parens that are required by C# Fix unnecessary spans Failing test for preserving parens around conditional expression AddSynthesizedRecordMembersIfNecessary - avoid touching members that are known to have no effect on the outcome of the function. (dotnet#49610) Resolve follow-up comments in PR "Create default arguments during binding" (dotnet#49588) Remove restore and checkout from test jobs (dotnet#49452) 3.8.* -> 3.9.* Update PublishData.json Update Versions.props Remove Microsoft.CodeAnalysis.VisualBasic.dll from the VSPE.OptProfTests.DDRIT_RPS_ManagedLangs_Typing runs Fix the ability to expand the list of analyzers in a reference Fix comment Address feedback to ensure `/warnaserror-:ID` prevents config options from bumping a warning to an error. parallel restore on mac/linux (dotnet#49523) VSMac: Make QuickFix preview resizable and add title (dotnet#49394) Add CallerMemberNameAttributeWithImplicitObjectCreation test (dotnet#49556) Update dependencies from https://github.com/dotnet/arcade build 20201120.10 (dotnet#49541) Clarify comment ...

Fixes #46930
Follow up to #49163 and #49153
This is another step on our journey to running on Helix. We remove the restore and checkout steps from our unit test jobs, and we onboard coreclr test runs to the RunTests console app.