* Add disk usage information for mac builds
* Add disk usage for test build as well
* Like normal, yml syntax change
* Add more usage
* yml syntax
* Show du on ios and tvos
* Add before and after usage
* Address pr feedback
* simplify libraries build dependencies.
* FIx depends for tests
* Fix artifact name for webAssembly
* try building corelib during libraries build.
* small typo
* Merge coreclr+libraries build scripts
* update scripts based on new refactor
* fix script error
* dont build corelib for mono or testbuilds
* Handle webassembly case
* fix allconfigurations build
* remove separate corelib job
* remove corelib jobs from pipelines
* delete build-corelib-job
* PR feedback
* remove special case for webassembly
now that its dependent on the mono runtimeFlavor
* Set emcc as the compiler for libraries build
* Add default subsets for webassembly build
* Fix various problems in the build
* Use WebAssembly Docker image
* Use Mono runtime for webassembly builds
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
* Redesign subset feature and remove subsetcategory
Implement proposal from https://github.com/dotnet/runtime/issues/34403.
Remove subsetcategory and allow all subsets to specified via the -subset
switch.
- Use RestoreUseStaticGraphEvaluation which improves no-op restore by 10-15x down to 10-20 seconds.
- .builds msbuild files renamed to .proj as RestoreUseStaticGraphEvaluation throws for non .proj files without an env var set.
- Introducing subsets for libraries and mono and replacing -buildtests switch which was only working for libraries in favor of the subset switch -subset tests which works consistently.
- Fixing the Microsoft.DotNet.CodeAnalysis analyzer which wasn't running and adding missing exclusions.
- Separating restore and build phases in different parts in the repo (ie for installer.tasks) as generated props and targets need to be imported which requires a reevaluation in the build phase.
- Fix eng/docker/build-docker-sdk.ps1 by using the official build entrypoints (cc @alnikola)
- Remove a few depprojs in favor of project restore (faster restore :))
- Fix root code coverage measurement not working correctly
- Traversal support instead of dir.traversal.targets or manual build target defines.
- Introduce a root Build.proj entrypoint which is responsible for building and restoring the repository. This is necessary to enable the new NuGet fast restore which works best and fastest with a single entrypoint.
- Avoid binclashes in libraries and between libraries and installer (netstandard.depproj vs netstandard.csproj)
- Upgrading the SDK to 5.0 latest
- Code cleanup
* Fix testhost publish condition and omptimize assets we publish in official builds
* Publish ref/ folder in official builds as it is needed for the installer build
* Just validate all assets paths when IncludeOOB* is true
* libraries -restore for vertical build without test restore
* Automatic test change and regex to remove the addition of an extra line at eof
* manual test restore fixed (restore completely done for vertical build)
* build native done
* Automatic ref change and regex to remove the last line
* manual reference assebly change and generated shims build
* automatic src change and regex
* native bin place and src build manual change
* apicompat and pretest.csproj done
* fixing the package build
* fixing all config
* packaging and feedback
* adding back placeholder configuration
* fixing the shims
* delete configuration.props
* making the build work in master
* Test Change
* fixing the packageing, test restore replacing TargetFramework -> OriginalTargetFramework
* delete test configuraiton.props, trailing semicolon and use targetFramework
* reverting the package change
* enable apicompat and fixing configurationGroup for individual projects
* fixing the api compat
* making ilproj work
* adding the outerBuildTest
* adding the arcade package version
* fixing the merge conflicts
* minor changes
* adding additional configs and setting the runtimeOS
* making the vs stuff work
* removing the target Group to fix the apicompat
* fixing the linux build and some minor changes
* making additionalBuildTargetFramework LOcalProperty
* fixing the allConfigurations build
* fixing the netfx build
* fixing package Testing and restore
* Missing TargetFrameworks tag
* making the VSdesgin stuff work
* Remove OriginalFramework Entirely
* some minor pr feedback
* RemoveExtraSemicolon
* use boolean exclude flag
* fixing yml scripts to pass tests
* adding comments and some minor feedback
* moving packaging property to correct plave
* fixing the build for web assembly
* Fixing the live ci build
* Fixing the live build for shims
* fixing the tests
* fixing the packaging and enterprise linux
* fixing package sizes
* Fix the targetFramework
* updating the targetFramework sdl
* removing the buildOS and be able to use OSGroup as done in the old system
* Fixing the osgroup stuff for send to helix task
* Fix OSX failures
* Fixing the osx build
* uploading tmp folder to artifacts
* running restore for runtime.deproj correctly
* Remove workarounds in build scripts for netcoreapp and netfx versionless
* Don't pass down netcoreapp in yml builds
* PR Feedback and condition passing -framework arg when not empty in yml files
* Condition TargetGroup global property in helix.yml
* PR Feedback to not use targetgroup for allconfigurations in sendtohelix
* Change from PackageTesting to BuildAllConfigurations
* Unify build_native via eng/native/build-commons
In order to add new platform, architecture, compiler or its newer
version, there are currently multiple places to update, which can be
deduplicated.
This patch unifies:
* directories creation
* prerequisites checking
* `version.c` generation
* native build invocation
* common argument parsing
* building help menu
for various build scripts under coreclr, installer and libraries.
The common entry-point script is now `eng/native/build-commons.sh` and
rest of the scripts under `eng/native` are implementation detail.
Also extracted CMake platform detection in
`eng/native/configureplatform.cmake`, to share with coreclr and
`installer/corehost`.
* Use if [[ cond ]] in all places
* Enable Mono in default build
* Integrate Mono into the build system
* Fix System.Private.CoreLib build in Mono
Broken by 9c82a36c23
* Disable Windows test runs
Fails due to https://github.com/dotnet/runtime/issues/1933
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
* Add official signed build
* Don't attempt test signing during PR validation
* Add build trigger include/exclude paths
* Remove unnecessary conditions (config, success)
* Add issue link for internal tool restore
* Add issue link for test signing
* Fix consolidation TODO formatting, links for all
- Delete Microsoft.NETCore.Native package
- Unify CMake files with the rest of libraries/native
- Fix pedantic warnings
- Comment out assert (https://github.com/dotnet/runtime/issues/946)
- Delete dlclose during shutdown. It is not safe to unload any libraries that the runtime depends on.
- Install ICU for libraries build in the CI
Fixes https://github.com/dotnet/coreclr/issues/22391
* netcoreapp -> netcoreapp5.0 in .sln files
* netcoreapp; -> netcoreapp5.0; , netcoreapp- to netcoreapp5.0-
* netcoreapp- -> netcoreapp5.0 in .csproj
* 'netcoreapp -> 'netcoreapp5.0 in .csproj
* done with libraries sub folder
* missed semicolon
* minor changes
* netcoreapp -> netcoreapp5.0 in some extra files
* vNext target variable in configurations.props
* netcoreapp => netcoreapp5/0 in some other .props file
* netcoreapp -> vnext in .csproj
* making the netcorepap framework switch work
* fixing sendToHelix and linux build
* TargetFrameworkVNext -> netcoreappCurrent
* case correct netcoreappcurrent
* fixing send to helix zip path
* netfx -> net472 in .sln
* netfx; -> net472; in .props
* netfx- -> net472- in .props
* netfx - -> net472- in .csproj
* 'netfx-> 'net472 in .csproj
* netfx -> net472 manual change
* fixing ci build for netfx
* Not trying to change the global property
* Fixing build failure due to master changes in net https tests
* adding documentaiton and fixing filtering
* netcoreapp -> netcore5.0 in py file
* changing the path to use netcoreapp5.0 version
* feedback and override corefx path corrected in installers
* remaing netcoreapp5.0 changes done
* netcoreapp-> netcoreapp5.0 after live builds
* net472 -> netframeworkcurrent
* Convert libraries and installer to use a live CoreCLR.
* Installer uses a live libraries build for DLLs.
* Remove newline in path.
* Enable live-live builds to build required live dependencies when the dependencies are in the building subset/subset category.
* Update path to coreclr output.
* Fix typo in coreclr.proj.
* Remove last usage of CoreCLRPDBOverridePath.
* Update path of binplaced runtime to include OS and Arch.
* Fix typo in coreclr/tests/src/Common/Directory.Build.targets.
* Restore CoreFX shared framework from live build for CoreCLR test dependencies.
* Remove dependency on Microsoft.NETCore.CoreCLR.TestDependencies package.
* Enable referencing live builds of the OOB libraries by temporarily adding a new BinplaceConfiguration. Update test_dependencies in the CoreCLR tree to use that to restore OOB libraries.
* Remove reference to System.Drawing.Common from NETClientPrimitives (the reference is only needed at runtime and Core_Root already has System.Drawing.Common).
* Remove package-based checked CoreCLR + CoreFX test runs. In the live-live world, we'll run this test configuration by pointing the CoreFX test host build step at the artifacts from a checked CoreCLR build (possible in both local and CI builds).
* Only copy the UCRT on Windows.
* CoreCLR test build now builds against a live libraries sfx+oob ref assembly set.
* Override GetCorePackagePaths target to not reference unused packages (breaks the live-live build on a clean system).
* Remove live references to Microsoft.NETCore.Platforms now that it seems to be unneeded since the SDK now packages a RID graph. Use the live RID graph in test_runtime.csproj where we may actually be looking for the live RID graph.
* Fix coreclr build arg generation bug that was causing build failures.
* Remove references to Microsoft.NETCore.Platforms outside of package references from the installers.
* Fix problems in installer build in live-live that were found from a clean build.
* Remove unused dependency on Microsoft.NETCore.Targets.
* Fix Microsoft.NETCore.App -> Microsoft.NETCore.Platforms dependency.
* Remove Microsoft.NETCore.Targets version from Versions.props.
* Remove unused deps.csproj file that was the last dependency on the packaged Microsoft.NETCore.Platforms package.
* Fix OSGroup calculation for dependent projects off-Windows.
* Fix construction of Microsoft.NETCore.App.Internal package.
* Remove unneeded CoreRun copying.
* Serialize subsets that have dependencies across subset groups. Don't use `<MSBuild />` tasks to rebuild subsets since we don't want to rebuild projects multiple times (coreclr was being built multiple times).
* Cleanup from PR feedback.
* Only copy libraries outputs to artifacts/bin/runtime.
* Use the netcoreapp output directories for OOB-included references to libraries outputs.
* Remove references to deleted old corefx override setup.
* First pass to get new runtime pipeline using the local live-live infra (coreclr+libraries only for now).
* Don't generate layout during test native build.
* Fix ref assembly default binplacing for netcoreapp.
* Remove msbuild goo around importing Subsets.props and Directory.Build.props only once each. This goo isn't needed anymore.
* Fix disabling of binplacing for the target vertical to exclude only runtime.depproj and not exclude winrt.depproj.
* Fix libraries test build.
* Copy all paths used by the "ResolveLibrariesFromLocalBuild" target to publish from libraries build.
* For shims, reference the System.Private.CoreLib directly from CoreCLR outputs instead of through runtime.depproj.
* Hard-code the libraries configuration to release in coreclr test builds.
* Resolve ReferenceFromRuntime items directly from the CoreCLR output instead of via the runtime.depproj project.
* Fix test host generation. Fix running the XML Serialization generator as part of libraries test build.
* Fix XmlSerializer.Generator.Tests again.
* Don't look for CoreCLR files when using ReferenceFromRuntime and not using netcoreapp.
* Crossgen-comparison should depend on a libraries build so we can populate Core_Root.
* Add job dependency on libraries build from run-test-job to ensure we wait correctly. Otherwise we might have a race since the managed test build might depend on one libraries build while the test run depends on another.
* Only resolve coreclr files from local build when targetting netcoreapp.
* Add steps to download libraries build for crossgen-comparison.
* Revive old method of resolving references to the runtime for building against old netcoreapp (ie netcoreapp 3.0). Fix correctly passing along aliases info.
* Fix failing AllConfigurations leg that was due to the netcoreapp runtime.depproj getting binplaced in the runtime output folder.
* Update eng/liveBuilds.targets
Co-Authored-By: Davis Goodin <dagood@users.noreply.github.com>
* HostArch->BuildArchitecture and share with installer.
* Fix format nits.
* Update YAML variable name.
* Remove setting property to import liveBuilds.targets.
* Upload docs and packages folders from libraries build
* Inclue doc files in the Microsoft.NETCore.App.Internal package
* Try making the runtime-installer pipeline live-live using the build-coreclr-and-libraries-job template.
* Update artifacts download paths and msbuild properties for installer build.
* Mark cross-component files as native.
* Remove FrameworkPackageName to remove error about missing $(FrameworkPackageName).versions.txt file that other shared frameworks also don't generate.
* Restore GetFilesFromPackageResolve override.
* Don't clean the unpack folder for the libraries download. It wipes out the CoreCLR download.
* Make sure that we restore the WinRT targetting pack during the installer build.
* Add libraries package directory to RestoreSources for the case where the LibrariesConfiguration is different from the installer build configuration.
* Don't pass OfficialBuildId unless it is an official build. We want to be consistent with the libraries build so our package versions match.
* Give default value for OfficialBuildArg variable
* Ensure installer tests can see the libraries-generated packages. Fix typo in TargetPath for CoreCLR assets (runtime instead of runtimes).
Fix paths for CoreCLR cross-target files as well as crossgen to place them in the correct directories.
* Add back FrameworkPackageName to get the partial platform manifest to generate.
* First pass to get an installer build integrated into runtime.yml with minimal changes to the installer jobs.
Fix paths to jobs.
Fix typos
Add platform to parameter lists.
Pass platform to all jobs.
Cleanup variable usages.
Don't pass buildConfig down to installer jobs. They use matrix strategy instead.
Fix variable usage in windows build.
Fix windows platform names.
Add missing platform parameter for Windows_NT_arm
Update last condition re parameters.dockerImage.
Rename dockerImage parameter to productBuildDockerImage to be more explicit.
Use pool and container parameters from platform-matrix in installer build.
Pass rootfs dir via crossrootfsDir to bash-build.yml.
Fix passing down container in runtime-installer pipeline.
Remove unused Linux_x64_raw config.
* Add support for clang 9 to corehost build.
* Skip tests on Linux_musl_arm64
* runtime.yml installer build with live artifacts
Includes refactoring the runtime legs to avoid duplicating artifact
transfer logic and preserve the runtime standalone build.
* Fix installer overrides: accept live CI artifacts
* Use clone-checkout-bundle-step.yml everywhere
* Try using isOfficialBuild var from template expr
* Switch from $[] to $() to fix clone template
$[] becomes empty string when a variable is undefined. $() sticks around literally if the variable doesn't exist, messing up the command. Unfortunately $[] doesn't seem to work in this context so we must use $() and define the variable as empty string.
* Switch over CoreCLR pr.yml to use live-built libraries
* Delete CoreFX runs against CoreCLR
* PR feedback - only use release CoreFX builds for CoreCLR testing
* Use live coreclr for libraries pipeline
* Remove RHEL 6 from build pipelines
* Fix the way we flow conditions to include succeeded into the condition