Commit Graph

69 Commits

Author SHA1 Message Date
Pavel Krymets 89a3526769
Move runtime site extension to installers (#3954) 2018-11-08 14:13:07 -08:00
Nate McMaster cb85ffa8f6
Merge branch 'release/2.2' 2018-11-02 10:10:49 -07:00
Nate McMaster 27deb6f6f8
Remove dependency on Docker from MSBuild targets (#3866)
Changes:
* This removes MSBuild targets which invoke `docker` commands to build
   deb and rpm installers
* Remove installer targets from the KoreBuild context. Put them into
   separate project files
* Simplify the targets used to build installers by reducing duplicate
   variable names and deeply nested MSBuild contexts
* Remove unused dependencies from the Docker build context
2018-11-01 15:02:29 -07:00
Nate McMaster 178d4e63a8
Merge branch 'release/2.2' 2018-10-31 18:03:26 -07:00
Nate McMaster ee0a11d048
Update code signing configuration to account for crossgen-ed assemblies (#3783)
* Update code signing configuration to automatically skip files in Microsoft.NETCore.App
* Update code signing configuration to account for crossgen-ed assemblies
2018-10-31 18:01:32 -07:00
Nate McMaster 51c32dc4dc
Merge branch 'release/2.2' 2018-10-31 14:39:34 -07:00
Nate McMaster 569016c2c5
Code sign all packages in a single batch (#3778)
Changes:
* Sign shared fx zips
* Sign metapackages
* Disable signing on inner repo builds and instead sign all packages at the end
* Add a list of files from other Microsoft teams which can be excluded from signing
* Add a list of 3rd party assemblies which are bundled in the shared frameworks.
2018-10-31 12:12:15 -07:00
Nate McMaster c2e9ca24d3
Update build tools to 2.2.0-preview2-20181031.2 2018-10-31 10:04:25 -07:00
Nate McMaster 0ba800841b
Ensure build output is still present when crossgen is disabled
* Split targets for copying outputs and preparing the crossgen tool
* Fix version override check by only looking at the 'pinned' section
2018-10-26 16:00:48 -07:00
Nate McMaster b78ee81a1e
Flow DotNetRestoreSourcePropsPath and DotNetPackageVersionPropsPath into the shared framework build steps 2018-10-26 10:44:47 -07:00
Nate McMaster 77a3089c8d
Workaround quirks in NuGet
* Disable package analysis because it incorrectly issues NU5109 on macOS, but not windows
* Normalize file paths because if you mix slashes, NuGet will just skip the entire folder
* Normalize the project path given to restore. If it not normalized, restore skips the project and issues a warning
2018-10-25 14:27:46 -07:00
Nate McMaster dbc28c523e
Avoid double restores by invoking NuGet.targets directly 2018-10-25 13:28:19 -07:00
Nate McMaster a8a3f99f1a
Skip restore on .zipproj files
Attempting to workaround a race condition in /t:Restore when building the shared framework projects
2018-10-25 10:36:18 -07:00
Nate McMaster 968df9578b
Refactor shared framework projects targets and project layout (#3703)
This refactors the targets used to build the shared framework and its .zip files. There are lots of reasons motivating this: Arcade convergence, migration to VSTS, making it easier to build this locally, etc.

Changes:
* Moves move content of build/Sharedfx.{props/targets} into eng/targets/SharedFx.Common.{props/targets}
* Update the build to produce a `runtime.$rid.Microsoft.AspNetCore.App` package (not just the one with symbols in it)
* Refactor the targets which produce .tar.gz/.zip files into separate projects in `src/Installers/`
* Refactor installers, unit tests, and the framework projects to use ProjectReference to flow dependencies between different parts of the build.
* Makes it easier to build the shared framework locally (for the inner dev loop, you can run `dotnet build -p src/Framework/Microsoft.AspNetCore.App/src/ -r win-x64`)
2018-10-24 15:42:06 -07:00
Nate McMaster c37a332a6a
Merge branch 'release/2.1' into release/2.2 2018-10-12 16:56:47 -07:00
Nate McMaster f09aa6eacb
Backport cleanups to infrastructure
* Fix README links to use https
* Add a bigger timeout to PushToBlobFeed
* Remove hard-coded restore source for the 2.1.4 build
* Fail the build if korebuild.json cannot be parsed
* Fix output path for sharedfx .tar.gz files to avoid max path issues
2018-10-12 16:36:34 -07:00
Nate McMaster fb3f5d95c2
Backport infrastructure changes and source reorganization
* Add build definition for Azure DevOps
* Put code for metapackages in a subfolder
* Update targets to prepare for submodules merging into this repo
* Add source code for windows installer
* Add source code for Debian installers
2018-10-12 13:59:43 -07:00
Nate McMaster 84c8c61d79
Remove temporary exclusion to output path adjustments 2018-08-20 16:29:59 -07:00
Nate McMaster d93aded1c0
Remove package version from the output path for shared runtime archives 2018-08-20 16:27:48 -07:00
Nate McMaster 28d4064cba
Add a build definition for compiling Universe in VSTS 2018-08-20 16:02:43 -07:00
Nate McMaster 2e96271e69
Merge branch 'release/2.1' into release/2.2 2018-07-25 09:29:48 -07:00
Nate McMaster e69a47f230
Implement patch policies per repo and set default to ProductChangesOnly
Our policy since 1.0.0 has been to always cascade version updates in the packages we own. e.g. if Logging has a product change in 2.1.x, then Kestrel, EF Core, Mvc, etc also re-ship with the updated Logging dependency. This has been done for a variety of reasons:

* NuGet does not show updates for transitive dependencies, only direct ones
* NuGet does resolves the lowest compatible transitive dependencies
* ASP.NET Core ships to both .NET Framework (where transitive dependency version matters) and .NET Core (where it matters less if you use the shared framework)

While transitive dependencies is still an important scenario, this practice of always patching has led to bigger issues.

* High probability users will unintentionally upgrade out of the shared framework: #3307
* Conflicts with metapackages that attempt to use exact version constraints: aspnet/Universe#1180
* A quality perception issue: the high volume of new versions in servicing updates with only metadata changes has created the impression that new versions of packages may not be very important. It's also made it appear like there are more issues product than there really are.
* High volume of packages changing with only metadata changes. Of the last 301 packages published in a servicing update, only 11 contained actual changes to the implementation assemblies. (3.5%)

This change implements a system to verify a new, non-cascading versioning policy for servicing updates. This required changes to repos to pin version variables to that matter per-repo,
and to remove some of the restrictions and checks.

Incidentally, this should make defining new patches easier because it automatically determines which packages are or are not patching in the release.
2018-07-12 21:33:50 -07:00
Nate McMaster 71de7a98f5
Merge branch 'release/2.1' into release/2.2 2018-07-05 10:21:51 -07:00
Nate McMaster 62ea0264e4
Ensure trx logging is reported correctly when building in TeamCity 2018-07-05 10:14:35 -07:00
Nate McMaster a7811c5656
Ensure .NET Core runtimes are install in alpine builds to tests can run 2018-07-03 12:26:20 -07:00
Nate McMaster d2d9a47686
Invoke dotnet vstest directly instead of using the VSTest target
Attempt to workaround Microsoft/vstest#1503 which causes test failure output to be swallowed
2018-07-03 10:08:25 -07:00
Nate McMaster 91a1d2de50
Add unit tests for the shared framework (#1228)
Changes:
* Add a test project with simple unit tests for the shared framework
* Add root-level Directory.Build.props/targets files
* Cleanup .csproj files to reduce duplication
2018-06-27 14:56:10 -07:00
Nate McMaster 10dff2410f
Fix tests on linux-musl-x64 2018-06-08 16:58:48 -07:00
Nate McMaster b1b92385c0
Add unit tests for the shared framework
Changes:
* Add a test project with simple unit tests for the shared framework
* Add root-level Directory.Build.props/targets files
* Cleanup .csproj files to reduce duplication
2018-06-08 10:33:31 -07:00
Nate McMaster ca73b4aa18
Merge branch 'release/2.1' into dev 2018-06-08 10:30:32 -07:00
Nate McMaster cf24fb23e7
Fix bug in generating .version file in the shared frameworks 2018-06-07 11:42:27 -07:00
Nate McMaster f9e6ebfd51
Merge branch 'release/2.1' into dev 2018-05-31 12:42:06 -07:00
Nate McMaster 309e9e3077
Widen dependency version range on Microsoft.AspNetCore.App to allow patch updates (#1186)
Originally, we thought using exact version ranges on the dependencies of Microsoft.AspNetCore.App
would help protect consumers from lifting binaries out of the shared framework. However,
this makes it difficult for consumers to use packages that share a dependency with .App.
When users tried to mix Microsoft.EntityFramework.SQLite 2.1.1 with Microsoft.AspNetCore.App 2.1.0,
NuGet errors and warnings made it difficult to reason about what was wrong, and how to resolve it.

This changes the dependency version range to allow uses to upgrade within the major.minor patch family
without needing to override NuGet warnings. This removes some of the protections against users
unintentionally lifting to a binary newer than the shared framework, however, after lots of discussion,
we believe this is a better user experience.
2018-05-31 12:40:52 -07:00
Nate McMaster 6beb419a02 Upgrade metapackages, shared framework, and installers to netcoreapp2.2 2018-05-09 11:51:06 -07:00
Nate McMaster fd9a93a35a
Upgrade to SQLitePCLRaw 1.1.11 (#1134)
This contains support for the linux-musl-x64 RID.
2018-05-02 17:35:46 -07:00
Nate McMaster fefae2682b
Add linux-musl-x64 shared runtime (#1104) 2018-04-23 16:57:33 -07:00
Nate McMaster 699d17fdeb
Don't generate crossgen symbols if the framework is not crossgen-ed 2018-04-06 15:02:32 -07:00
Nate McMaster 50ce20f0f9
Generate an arm32 shared framework without crossgen (#1037) 2018-04-06 13:49:22 -07:00
Justin Kotalik fd6c217336 Revert "Build runtime specific metapackages"
This reverts commit ec184bc361.
2018-03-30 13:02:45 -07:00
John Luo ec184bc361 Build runtime specific metapackages 2018-03-23 13:40:27 -07:00
Nate McMaster c569d163c4
Filter osx from symbols packages and include npm artifacts in prodcon 2018-03-22 15:20:10 -07:00
Nate McMaster 5aae1f91a8
Include symbols in published output 2018-03-22 15:20:09 -07:00
Nate McMaster 016fa66640
Map properties DotNetRestoreSources => RestoreSources for metapackage builds (#955) 2018-03-13 12:23:18 -07:00
= c46f164c26 Fix shared fx symbols name 2018-03-07 12:42:29 -08:00
Nate McMaster 48ea4a6699
Force restore when building sharedfx csproj file 2018-03-01 13:00:35 -08:00
Nate McMaster 0276bb199e
Produce an Alpine Linux version of the ASP.NET Core shared framework (#931)
Required changes:
 - Update to SQLitePCLRaw 1.1.10-pre20180223200113
 - Add alpine.3.6-x64 as a new RID
 - Add new external dependencies
2018-03-01 10:55:53 -08:00
Nate McMaster c44cf5bdc5 Merge branch release/2.1 into dev 2018-02-15 15:58:13 -08:00
John Luo 989afa53ae Undo typo 2018-02-13 14:17:57 -08:00
John Luo b7c61128af Resolve portable pdbs from symbols packages 2018-02-13 14:17:57 -08:00
John Luo a37e712579 Build RID specific .All and .App symbols packages 2018-02-13 14:17:57 -08:00