Commit Graph

54 Commits

Author SHA1 Message Date
Nate McMaster b4fbc1a6e3
Merge branch 'release/2.2' 2018-10-04 16:08:21 -07:00
Nate McMaster 5d261e46ce
Support checked-in global.json files 2018-10-04 09:26:44 -07:00
Ryan Brandenburg 9a1f6c3a4e Try installing in Universe 2018-09-24 10:42:11 -07:00
Nate McMaster 79d1bf09d7
Remove sign request merging
We never ended up using this anyways. We're converting to a new sign tool which makes these unnecessary
2018-09-07 11:01:52 -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 9a7ca64138
Gather and merge sign requests from repo builds 2018-06-07 12:06:06 -07:00
Nate McMaster ca4e81b975
Merge branch 'release/2.0' into release/2.1 2018-06-01 17:08:08 -07:00
Nate McMaster 5f3d3d1aea
Pass DotNetAssetRootUrl to repository build context and install x86 shared runtime (#1115) 2018-04-24 15:37:08 -07:00
Nate McMaster a3c3928335
Add parameter so we can produce binary logs for individual repos 2018-04-19 17:59:55 -07:00
Nate McMaster eb5b94e3c4
Make consistent variable names for RestoreSourcePropsPath 2018-03-26 16:03:09 -07:00
Nate McMaster 6eb4b0ecfb
Prepare the 2.0.7 patch 2018-03-22 10:08:30 -07:00
Nate McMaster 8dabce0c19
Restore the original lockfile in repos after invoking build.cmd/sh (#865) 2018-02-08 17:23:35 -08:00
Nate McMaster 230e4a02ef
Split compilation and tests into separate phases (#779)
* Split compilation and tests into separate phases
* Ensure template tests are skipped, and reduce duplication between test/build repo targets
* Show summary at the end of which repos failed
2018-01-12 09:46:36 -08:00
Nate McMaster 49c952a035 Update build tools to 2.0.3-rtm-10005 2018-01-08 11:10:45 -08:00
Nate McMaster af88d38cf7 Update to build tools 2.1.0-preview1-15651 2017-12-28 16:17:15 -08:00
Nate McMaster 5d53df55c4 Update analyze build graph to ignore unknown artifact types 2017-12-20 15:42:26 -08:00
Nate McMaster dfd15c8679
Only produce one version of the runtime store, templates packages, and installers (#665) 2017-11-21 17:05:52 -08:00
Nate McMaster fac246e67c
Add support for PB_SkipTests and PB_SignType variables (#646) 2017-11-13 12:27:01 -08:00
Nate McMaster e19c552cd3 Fix missing package source and react to target rename 2017-11-09 11:52:50 -08:00
Nate McMaster dae1f1ce78 Merge branch 'rel/2.0.3' into dev 2017-11-08 16:31:07 -08:00
Nate McMaster 7c0d83e7ff
Stop producing PackageLineup and remove obsolete code (#628) 2017-11-03 16:20:29 -07:00
Nate McMaster cccfe3dd57
Use submodules for source dependencies (#621)
As a part of making builds more reproducible, we want to start committing the exact sha of source dependencies used to build aspnetcore. This implements that using git submodules, and removes targets that were previously used to clone source on demand.

Initial submodule status:

Antiforgery => e1884586
AzureIntegration => c998d74e
BasicMiddleware => 9f3ed006
BrowserLink => 7e2ff85a
Caching => c6a9cbbe
Common => 062ad3e7
CORS => 8fd36866
DataProtection => 49b2e22a
DependencyInjection => 88297e3c
Diagnostics => 7ac0e06a
DotNet=>ols => 1836201b
EntityFrameworkCore => e70d7dae
EventNotification => 3f881f18
FileSystem => 51e14a62
Hosting => 82ccf4f0
HtmlAbstractions => d687617a
HttpAbstractions => c0f93723
HttpSysServer => 02331040
Identity => 52dfb021
JavaScriptServices => e583a17e
JsonPatch => e453fafa
KestrelHttpServer => 0c34523e
Logging => e8e3e707
MetaPackages => d63542ca
Mvc => 2e4bc548
Razor => 6c7551d9
Routing => bb413c6a
Security => 88cb3df0
SignalR => 2419867d

[auto-updated: submodules]
2017-11-01 13:03:46 -07:00
Nate McMaster e91af13a7d Generate the PackageVersionProps file and put it in the lineup package 2017-10-23 15:00:53 -07:00
Nate McMaster c8068b7d1c Use submodules for source dependencies
As a part of making builds more reproducible, we want to start committing the exact sha of source dependencies used to build aspnetcore. This implements that using git submodules, and removes targets that were previously used to clone source on demand.
2017-10-11 15:48:50 -07:00
Nate McMaster 611b6a23ad Update how PackageReference versions are set
Changes:
 - Remove floating versions
 - Disable myget feeds during a Universe build
 - Use package-specific MSBuild variables. Pattern = `packageId.Pascalize() + "PackageVersion"`, with a few exceptions.
 - Remove myget feeds during build
 - Remove obsolete 'GenerateLineup' targets/tasks
2017-10-09 11:32:21 -07:00
Nate McMaster 372be2f638 Generate and set DotNetRestoreSourcePropsPath 2017-10-02 14:12:41 -07:00
Nate McMaster d2e49a726c Generate the package version props file 2017-09-29 14:39:58 -07:00
Nate McMaster e841229782 Verify and mirror external dependencies and self-consistent package versions (#566)
Moves build logic from other infrastructure repos into aspnet/Universe.
2017-09-29 10:25:47 -07:00
Nate McMaster 4fa08287a2 Remove dead code and ensure source code is cloned when building on CI 2017-09-18 12:39:27 -07:00
Nate McMaster 4182b0b5d2 When BuildGraphOf is used, only pin package references to packages currently building 2017-09-18 12:31:08 -07:00
Nate McMaster 4924f79efc Update PackageReferences to non-floating versions when building multiple repos 2017-09-18 12:05:12 -07:00
Nate McMaster 8f25a559a5 Begin implementation of build graph analysis 2017-09-14 17:13:57 -07:00
Nate McMaster 52757943ac Backport improvements from dev branch to repo tasks
- CalculateBuildGraph
 - PinVersion tool
 - Ensuring sub-repositories build with the same version of KoreBuild executing in Universe
2017-09-14 15:23:27 -07:00
Nate McMaster ddd690200e React to changes in the gatekeeper build 2017-08-11 10:37:41 -07:00
Nate McMaster f5710de3e5 Produce a lineup package containing all packages produced 2017-08-10 11:41:10 -07:00
Nate McMaster ca7f72e3f0 Move PinVersions into RepoTasks (#535) 2017-08-02 15:04:19 -07:00
Nate McMaster 581bcd7396 Update the bootstrapper to install compiled KoreBuild
- This installs KoreBuild as a compiled artifact and introduces the korebuild-lock.txt file
 - In addition, changed from using PackagePublisher directly as a console tool to using the PushNuGetPackages task
2017-07-24 17:12:43 -07:00
Nate McMaster d3ab458c6c Add flow logger to help with console output parallelism 2017-07-13 17:38:05 -07:00
Pranav K aa25401a50 Make the calculation of the build graph a task so we can pass metadata around 2017-07-11 18:51:46 -07:00
Kiran Challa d518d653d2 Enabled a way to passing in additional build arguments to individual repositories being built 2017-07-07 12:29:35 -07:00
Kiran Challa 0cfecf4cb2 Copy msbuild artifacts from individual repos to universe artifacts folder 2017-06-06 10:14:16 -07:00
Kiran Challa 88f81f00e9 Copy Korebuild directory to cloned repoistories to avoid repeated downloads 2017-06-05 10:18:13 -07:00
Kiran Challa e08e63a033 Updated to use 1.0.2 version of PackagePublisher 2017-04-12 21:30:59 -07:00
Kiran Challa 71d09dc15c Using PackagePublisher tool to publish packages as it does retries 2017-03-27 10:50:37 -07:00
Doug Bunting dd3889869c `StopOnFirstFailure` when doing repository builds
- avoids MSBuild continuing past failed repositories in sequential builds
- ignored when building in parallel (unfortunately)
2017-03-21 15:50:23 -07:00
Pranav K 5bcf919faa Account for repositories with no packaes to publish 2017-03-15 10:05:30 -07:00
Pranav K 1db9776b24 Fix publishing packages to the volatile feed
Fixes #488
2017-03-15 09:22:29 -07:00
Pranav K 89aebea9e5 Print the build graph prior to building repositories
Fixes #485
2017-03-14 08:42:44 -07:00
Pranav K f639d9f124 Add IgnoreStandardErrorWarningFormat to Exec task when running build.[cmd | sh]
on individual repositories
2017-03-10 12:00:23 -08:00