For 5.0.0, use bootstrapping in CI, not N-1#1881
Conversation
|
This is the situation for the
|
|
I think Option 2 makes sense. I'm assuming the direct dependency would only be added in the offline build? Regarding how to find the version for Option 1: wouldn't it be the version from git-info/AllRepoVersions.props? But, I understand the issue with arcade-powered source-build and agree that option 1 isn't a good long-term approach. |
It can be if it causes problems in Production (or if it makes the patch clearer?), but I'd expect it to be fine to always have the direct dep. I already have a patch ready without this condition.
That only has one value for the whole dotnet/runtime repo based on the package we have our |
7c2a93c to
5cb50cf
Compare
Won't it be an issue for Arcade-powered source-build because that version won't exist?
Makes sense. |
It's just set up for PVP--it'll use the version in |
The result I got earlier seems to be a red herring (it's just a layout copy from Let's keep the prebuilt for now and resolve it later by putting it in SBRP. |
|
Remaining prebuilt that CI hit: It looks like there's a usage without a |
|
Hmm, that's an interesting one. Suggests a type of usage I don't think we've considered before. It appears that dotnet/arcade's "projectFileDependencyGroups": {
".NETCoreApp,Version=v2.1": [
"Microsoft.Build >= 16.8.0",
"Microsoft.Build.Tasks.Core >= 16.8.0",
"Microsoft.CodeAnalysis.CSharp >= 3.8.0",
"Microsoft.NETCore.App >= 2.1.0",
"Microsoft.SourceLink.AzureRepos.Git >= 1.0.0",
"Microsoft.SourceLink.GitHub >= 1.0.0",
"System.Reflection.Metadata >= 5.0.0"
]
}
When I delete Immutable as a prebuilt nupkg and build a tarball offline, I get this: So I'm guessing that it wants to try restoring both |
Microsoft.CodeAnalysis.CSharp brings in System.Collections.Immutable and System.Reflection.Metadata dependencies with prebuilt versions. We can override them to the version that we built. dotnet/arcade already defines SystemCollectionsImmutableVersion and SystemReflectionMetadataVersion, and it seems safe to use their values. See dotnet/source-build#1881
Microsoft.CodeAnalysis.CSharp brings in System.Collections.Immutable and System.Reflection.Metadata dependencies with prebuilt versions. We can override them to the version that we built. dotnet/arcade already defines SystemCollectionsImmutableVersion and SystemReflectionMetadataVersion, and it seems safe to use their values. See dotnet/source-build#1881
Microsoft.CodeAnalysis.CSharp brings in System.Collections.Immutable and System.Reflection.Metadata dependencies with prebuilt versions. We can override them to the version that we built. dotnet/arcade already defines SystemCollectionsImmutableVersion and SystemReflectionMetadataVersion, and it seems safe to use their values. See dotnet/source-build#1881
Microsoft.CodeAnalysis.CSharp brings in System.Collections.Immutable and System.Reflection.Metadata dependencies with prebuilt versions. We can override them to the version that we built. dotnet/arcade already defines SystemCollectionsImmutableVersion and SystemReflectionMetadataVersion, and it seems safe to use their values. See dotnet/source-build#1881
Microsoft.CodeAnalysis.CSharp brings in System.Collections.Immutable and System.Reflection.Metadata dependencies with prebuilt versions. We can override them to the version that we built. dotnet/arcade already defines SystemCollectionsImmutableVersion and SystemReflectionMetadataVersion, and it seems safe to use their values. See dotnet/source-build#1881
* Initial source-build config * Exclude unneeded project. * Reassign MsbuildTaskMicrosoftCodeAnalysisCSharpVersion in offline build Arcade has a special version prop for CodeAnalysis.CSharp in GenFacades to try to match the version loaded by msbuild. In the offline build, this is simply the source-built version. * Disable ILRewrite step - this isn't built in source-build so it fails. * Override Microsoft.CodeAnalysis.CSharp pkg deps Microsoft.CodeAnalysis.CSharp brings in System.Collections.Immutable and System.Reflection.Metadata dependencies with prebuilt versions. We can override them to the version that we built. dotnet/arcade already defines SystemCollectionsImmutableVersion and SystemReflectionMetadataVersion, and it seems safe to use their values. See dotnet/source-build#1881 Co-authored-by: Chris Rummel <crummel@microsoft.com> Co-authored-by: dseefeld <dseefeld@microsoft.com>
…et#6837) * Initial source-build config * Exclude unneeded project. * Reassign MsbuildTaskMicrosoftCodeAnalysisCSharpVersion in offline build Arcade has a special version prop for CodeAnalysis.CSharp in GenFacades to try to match the version loaded by msbuild. In the offline build, this is simply the source-built version. * Disable ILRewrite step - this isn't built in source-build so it fails. * Override Microsoft.CodeAnalysis.CSharp pkg deps Microsoft.CodeAnalysis.CSharp brings in System.Collections.Immutable and System.Reflection.Metadata dependencies with prebuilt versions. We can override them to the version that we built. dotnet/arcade already defines SystemCollectionsImmutableVersion and SystemReflectionMetadataVersion, and it seems safe to use their values. See dotnet/source-build#1881 Co-authored-by: Chris Rummel <crummel@microsoft.com> Co-authored-by: dseefeld <dseefeld@microsoft.com>

Instead of downloading previously-source-built packages (prev-sb) from some N-1 build, use the tar.gz that the Production build built. This simulates a bootstrapping flow.
For #1880