Skip to content

WIP: Initial CoreCLR CI pipeline in the composite repo #4

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

Closed
wants to merge 10,000 commits into from
Closed

WIP: Initial CoreCLR CI pipeline in the composite repo #4

wants to merge 10,000 commits into from

Conversation

trylek
Copy link
Member

@trylek trylek commented Oct 31, 2019

(*) I had to temporarily put back the myget feed because, without it,
we cannot restore Microsoft.DotNet.CoreCLR.TestDependencies;

(*) I temporarily deleted an MSBuild execution in eng/Build.props
that was causing issues – haven’t yet retested after Viktor’s most
recent changes, may be theoretically fixed;

(*) Bumped up MicrosoftPrivateCoreFxNETCoreAppPackageVersion fixes
build of several tests hitting contract mismatches (ARM HW tests,
SuppressGCTransition attributes);

(*) Temporarily removed setup of stress dependencies that hits
trouble when restoring CoreDisTools in the absence of myget feed;

(*) Temporarily downgrated R2RDump to use 00001 version of CoreDisTools
as 00005 is only available on myget – this will likely need resolving
as R2RDump actually needs the newer version (and so does stress
dependency setup);

(*) Most of the remaining issues are just the path tweaks that fall
into four categories - cmd, sh, proj, yml. Based on Viktor's advice
I have a relatively good idea what to do about cmd, sh and proj,
I haven't yet thought about yml (in fact I haven't yet seen the
change in its entirety as a PR to get a better overview).

Thanks

Tomas

P.S. "tiny.yml" is the minimalistic pipeline. Of course I expect
this to be only temporary. I used a second branch with a manual fix
to the pipeline to run Windows_NT instead of OSX so that I didn't
have to create two different pipelines.

ViktorHofer and others added 30 commits October 25, 2019 21:40
This caught my attention because I was messing with `IsBlittableType`.

The condition `type.BaseType.IsValueType` is never true because one can never have a type whose base type is a valuetype.

I was trying to find out where this code is coming from so I can fix it only to realize it was silently deleted in #23015.
…025.2 (#8668)

- System.Windows.Extensions - 5.0.0-alpha.1.19525.2
- System.CodeDom - 5.0.0-alpha.1.19525.2
- System.Configuration.ConfigurationManager - 5.0.0-alpha.1.19525.2
- Microsoft.NETCore.Platforms - 5.0.0-alpha.1.19525.2
- Microsoft.NETCore.Targets - 5.0.0-alpha.1.19525.2
- Microsoft.Private.CoreFx.NETCoreApp - 5.0.0-alpha.1.19525.2
- Microsoft.Win32.Registry - 5.0.0-alpha.1.19525.2
- Microsoft.Win32.SystemEvents - 5.0.0-alpha.1.19525.2
- Microsoft.Windows.Compatibility - 5.0.0-alpha.1.19525.2
- System.Diagnostics.EventLog - 5.0.0-alpha.1.19525.2
- System.Security.AccessControl - 5.0.0-alpha.1.19525.2
- System.Security.Cryptography.Cng - 5.0.0-alpha.1.19525.2
- System.Security.Cryptography.Pkcs - 5.0.0-alpha.1.19525.2
- System.Security.Cryptography.ProtectedData - 5.0.0-alpha.1.19525.2
- System.Security.Cryptography.Xml - 5.0.0-alpha.1.19525.2
- System.Security.Permissions - 5.0.0-alpha.1.19525.2
- System.Security.Principal.Windows - 5.0.0-alpha.1.19525.2
- System.Text.Encodings.Web - 5.0.0-alpha.1.19525.2
- System.Text.Json - 5.0.0-alpha.1.19525.2
- System.Threading.AccessControl - 5.0.0-alpha.1.19525.2
- System.Resources.Extensions - 5.0.0-alpha.1.19525.2
- System.DirectoryServices - 5.0.0-alpha.1.19525.2
- System.Drawing.Common - 5.0.0-alpha.1.19525.2
- System.IO.FileSystem.AccessControl - 5.0.0-alpha.1.19525.2
- System.IO.Packaging - 5.0.0-alpha.1.19525.2
Fix getting readonly column metadata
* Get the product build to use the global package cache only.

* Move external.csproj out to the tests folder. Fix restore location so external.csproj correctly resolves its nuget-generated props/targets files.

* Fix typo.

* Fix expected failure case on platforms that don't support PGO/IBC.

* Don't error out if optimization data is not supported for the current platform.

* Fix casing that was causing the Linux x64 build to fail to find the pgo/ibc packages.

* Fix condition.

* Pass OS-Arch-Config to external test package restore.

* The platform-specific version of Microsoft.NETCore.CoreDisTools is an older version for non-Windows, so hardcode that version in stress_dependencies.csproj
* Packaging for crossgen2 as a framework dependent application.

This requires us to manually emit a runtimeconfig json for now, since the build produces a self-contained version of crossgen2.

Also includes some minor cleanups to the way we build crossgen2:
- Removed from build.proj since we explicitly build it as a self-contained application from build.cmd/build.sh
- Removed the output path property from the csproj files. We use an explicit -o argument when publishing to specify the output folder
…025.3 (#8671)

- System.Windows.Extensions - 5.0.0-alpha.1.19525.3
- System.CodeDom - 5.0.0-alpha.1.19525.3
- System.Configuration.ConfigurationManager - 5.0.0-alpha.1.19525.3
- Microsoft.NETCore.Platforms - 5.0.0-alpha.1.19525.3
- Microsoft.NETCore.Targets - 5.0.0-alpha.1.19525.3
- Microsoft.Private.CoreFx.NETCoreApp - 5.0.0-alpha.1.19525.3
- Microsoft.Win32.Registry - 5.0.0-alpha.1.19525.3
- Microsoft.Win32.SystemEvents - 5.0.0-alpha.1.19525.3
- Microsoft.Windows.Compatibility - 5.0.0-alpha.1.19525.3
- System.Diagnostics.EventLog - 5.0.0-alpha.1.19525.3
- System.Security.AccessControl - 5.0.0-alpha.1.19525.3
- System.Security.Cryptography.Cng - 5.0.0-alpha.1.19525.3
- System.Security.Cryptography.Pkcs - 5.0.0-alpha.1.19525.3
- System.Security.Cryptography.ProtectedData - 5.0.0-alpha.1.19525.3
- System.Security.Cryptography.Xml - 5.0.0-alpha.1.19525.3
- System.Security.Permissions - 5.0.0-alpha.1.19525.3
- System.Security.Principal.Windows - 5.0.0-alpha.1.19525.3
- System.Text.Encodings.Web - 5.0.0-alpha.1.19525.3
- System.Text.Json - 5.0.0-alpha.1.19525.3
- System.Threading.AccessControl - 5.0.0-alpha.1.19525.3
- System.Resources.Extensions - 5.0.0-alpha.1.19525.3
- System.DirectoryServices - 5.0.0-alpha.1.19525.3
- System.Drawing.Common - 5.0.0-alpha.1.19525.3
- System.IO.FileSystem.AccessControl - 5.0.0-alpha.1.19525.3
- System.IO.Packaging - 5.0.0-alpha.1.19525.3
This change modifies R2RDump to use the new
System.CommandLine.Experimental module instead of the obsoleted
System.CommandLine parser we were using before. Apart from general
hygiene w.r.t. using up-to-date components one practical reason
for this switch-over is that the old parser is only available on
the unreliable myget.org nuget feed we plan to drop as part of
our planned repo consolidation.

During debugging of the change I noticed a bug in the implementation
of the "--verbose" option - it shouldn't be setting EntryPoints,
otherwise we actually end up with a super-terse output including
just the entry points. I have anecdotally verified that, after fixing
this in both the "new" and "old" R2RDump both produce identical output.

Thanks

Tomas
Signed-off-by: dotnet-bot <[email protected]>
Improved performance of complex casts by caching results of cast analysis.

* Easy out for same types.
* Introduce cast cache
* Use managed heap for the cache
* Fixes. Get rid of a fake array typedesc.
* TypeDesc conversions caching
* Removed NoGC helpers
* Cache typedesc conversions
* Renamed remaining trivial NoGC casting helpers
* Some cleanups. Comments, redundant code.
* PR feedback.
* Update dependencies from https://github.com/dotnet/coreclr build 20191025.1

- Microsoft.NET.Sdk.IL - 5.0.0-alpha1.19525.1
- Microsoft.NETCore.ILAsm - 5.0.0-alpha1.19525.1
- Microsoft.NETCore.Runtime.CoreCLR - 5.0.0-alpha1.19525.1

* remove Stopwatch.*.cs from System.Runtime.Extensions build

* Disable tests against CoreCLR bug
…025.2 (#8673)

- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.19525.2
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19525.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19525.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19525.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19525.2
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.19525.2
…025.2 (#42137)

- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.19525.2
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.19525.2
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19525.2
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.19525.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19525.2
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.19525.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19525.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19525.2
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.19525.2
- Microsoft.DotNet.CoreFxTesting - 5.0.0-beta.19525.2
- Microsoft.DotNet.GenAPI - 5.0.0-beta.19525.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19525.2
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.19525.2
- Microsoft.DotNet.GenFacades - 5.0.0-beta.19525.2
…91026.1 (#8674)

- NETStandard.Library - 2.2.0-prerelease.19526.1
* Enable building with clang 9

Update the docker images that we use for building.

* Add missing clang9 option to build.sh / build-test.sh

* Fix clang version matching and MUSL build

* Prevent Clang 9 from optimizing out s_gsCookie write
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.