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
Enable arcade-powered-source-build for local and CI builds #1204
Enable arcade-powered-source-build for local and CI builds #1204
Conversation
eng/Version.Details.xml
Outdated
@@ -6,6 +6,8 @@ | |||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.20573.2"> | |||
<Uri>https://github.com/dotnet/arcade</Uri> | |||
<Sha>35bddd4fbfab8da3518fb920250d7c9e0c3138ff</Sha> | |||
<!--<SourceBuild RepoName="arcade" ManagedOnly="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.
This needs an update to version of Microsoft.DotNet.Arcade.Sdk
package so it can work; the current version is too old and can't be found.
error NU1102: Unable to find package Microsoft.SourceBuild.Intermediate.arcade with version (= 6.0.0-beta.20573.2)
Probably #1172?
During repeated builds, I did see an error like this locally:
Is this a known issue? Has anyone seen this before? |
Repo has been upgraded to latest arcade and .NET 5 and I re-merged/re-started the CI. |
CI is hitting the same errors that I was seeing locally, so it's not just me. The error is always with |
It looks like these MSBuild tasks are spinning up another build of the same csproj in a way that misses the MSBuild cache and causes a race: command-line-api/src/System.CommandLine.Suggest.Tests/dotnet-suggest.Tests.csproj Lines 59 to 63 in d87107b
When a project is built twice with the same global properties, this is safe: it hits some MSBuild cache and it only builds once and both dependent projects continue their builds after it's done. When the global properties are different like this, both builds execute and you get races like this. The (I searched the binlog for |
380ddf4
to
d5bd9ff
Compare
I am not sure what to do about the nullability errors I am now running into. Here are a few examples:
Is there a more appropriate fix than fixing up all the code like https://github.com/dotnet/command-line-api/pull/1204/files#diff-0ebe1e9864869d3cb89f16ad74b56273cab824fbc1e9bff94e4daa288025ae02R65-R66? |
@omajid I looked at this a little more yesterday, based on the suggestions from @crummel. Regarding the nullability errors, these are warnings added because of the update to netcoreapp3.1. You can add |
@omajid Please rebase this against |
This enables 'source-build', which makes it easier to build the entire shipping .NET SDK from source. This is the first and second step of arcade-powered-source-build: https://github.com/dotnet/source-build/blob/master/Documentation/planning/arcade-powered-source-build/README.md See dotnet/sourcelink#692 for a similar PR, that this is based on. And try and resolve some nullability errors. For source-build, sisable warnings so we can build this without extensive customizations, since we update the TFM ourselves.
39198ee
to
ebd45da
Compare
@jonsequitur Thanks, I have squashed and rebased the PR onto |
Thanks for merging this! |
This enables 'source-build', which makes it easier to build the entire shipping .NET SDK from source.
This is the first and second step of arcade-powered-source-build:
https://github.com/dotnet/source-build/blob/master/Documentation/planning/arcade-powered-source-build/README.md
See dotnet/sourcelink#692 for a similar PR, that this is based on.
For this round, this includes all
.patch
files from source-build directly. Some of that is easy enough to clean up and merge directly, but I am going to put that off for later, following the plan.