Commit Graph

274 Commits

Author SHA1 Message Date
Nate McMaster 075612b988
Install the .NET Core SDK into the repo root instead of UserProfile and 'install' copy of AspNetCore shared framework (#7293)
This is required to workaround several limitations in the way the .NET Core SDK finds shared frameworks and targeting packs. It allow tests to use shared frameworks and targeting packs.

It also matches the patterns established in other aspnet and dotnet repos. This should reduce the friction required to adopt Arcade SDK.

## Changes

* This moves the default location of the .NET Core SDK installation into `$repoRoot/.dotnet`. This location was already in use for CI builds. 
* Update the build step for Microsoft.AspNetCore.App to install the shared framework into the local copy of the .NET Core SDK

## Recommendations

* Use the "startvs.cmd" script to launch Visual Studio. This will set required environment variables to make VS happier than if you just double click the .sln file.
* Use "activate.sh/ps1" if you want to run `dotnet build`, `dotnet test` and other dotnet commands. These will set required environment variables, including PATH.
* I recommend removing %USERPROFILE%/.dotnet to your PATH variable if you had added it manually before. This will no longer match what build tools will install.
* `git clean -xfd -e .dotnet/` preserves the folder so you don’t have to re-download the SDK again.
2019-02-06 11:20:49 -08:00
Chris Ross 7bd5297cfa
Re-enable h2spec tests with more diagnostics Internal/#1720 (#7259) 2019-02-05 16:18:12 -08:00
Pavel Krymets 6a46f48eb0
Add support for suspending ANCM startup (#7252)
Uses the `ASPNETCORE_STARTUP_SUSPEND_EVENT` environment variable to get an event name.

Fixes: https://github.com/aspnet/AspNetCore/issues/6972
2019-02-05 15:41:45 -08:00
Stephen Halter bf24899592
Auto-set "Content-Length: 0" on 205 responses (#7205) 2019-02-05 13:45:08 -08:00
Pavel Krymets e3e9b120b3
Reenable tests that are though to be fixed (#7254)
ReaderThrowsCancelledException might be fixed by https://github.com/aspnet/AspNetCore/pull/6862
DoesNotStartIfDisabled was fixed by https://github.com/aspnet/AspNetCore/pull/7068

Also remove some extreme diagnostic features added in https://github.com/aspnet/AspNetCore/pull/7068
2019-02-05 09:20:45 -08:00
Pavel Krymets f888a37712
More logs in forwardinghandler.cpp (#7244) 2019-02-04 11:21:58 -08:00
David Fowler 9f202feafc
Rename IHttpContextContainer to IDefaultHttpContextContainer (#7217)
- Renamed since the property has to be a DefaultHttpContext
2019-02-02 22:31:49 -08:00
Sébastien Ros 61bc18fee3
Exclude benchmark apps from builds (#7171) 2019-02-01 17:57:47 -08:00
Pavel Krymets 35746adf68
Allow test projects to run standalone (#7144) 2019-02-01 15:19:49 -08:00
Gérald Barré f1b24ccb92 Replace unsafe code with string.Create for hex generation (#6784) 2019-02-01 10:06:20 -08:00
James Newton-King 574be0d22c
Add readonly modifier to readonly structs (#7169) 2019-02-01 15:04:25 +13:00
Nate McMaster 6081fec894
Add new build.cmd/sh options for suppressing restore, NodeJS, setting target arch and OS name, and more (#7137)
Add new command line parameters for working with the project:

* `-NoBuild`, `-NoRestore` - these already existed, but users found it hard to discover this powershell syntax: '-build:$false'
* `-Arch`/`--arch` - set the target CPU architecture to build. Defaults to x64
* `--os-name` - on non-Windows builds, manually specify if the build should target Alpine. generic Linux, or MacOS
* Rename flags used to build specific project types. The pattern now is `--build-$(group)` or `--no-build-$(group)` (In PowerShell its `-Build$(Group)` or `-NoBuild$(Group). Example: -NoBuildJava

Changes to build definitions:
* Update the ci build definition to build all supported architectures
* Support publishing multiple artifacts per job

Other changes:
* `-NoBuild` implies `-NoRestore`
* Add new properties, `TargetArchitecture`, `TargetOsName`, and `TargetRuntimeIdentifier`
* Replace usages of `SharedFxRid` with these new properties
* To make `--no-build-nodejs` actually work, replaced Components.Browser.JS.csproj with Components.Browser.JS.npmproj
* Fix errors when building for win-arm on a clean machine
* Fix a few other project errors, like using the wrong syntax for DefaultItemExcludes, or using the wrong Platform value for x86
2019-01-31 15:47:47 -08:00
Stephen Halter 4539b0d2c3
Increase shutdown timeout in Kestrel TestServer (#7082)
* Never use a null abort reason
2019-01-29 16:13:37 -08:00
Pavel Krymets 1ecc8dd9c6
Remove AspNetCoreModule V1 (#7071) 2019-01-29 08:20:00 -08:00
BrennanConroy a8f1b034d8
Pass in auth type for WindowsAuth in out of proc (#7074) 2019-01-28 20:06:23 -08:00
Justin Kotalik 1222d8de49
Add StartAsync() to HttpResponse; ImplementFeature in Kestrel (#6967) 2019-01-28 17:42:04 -08:00
Pavel Krymets 963508b9b9
Add more logging to iis graceful shutdown (#7068) 2019-01-28 16:23:55 -08:00
Pavel Krymets f06e1822f5
Enable strict mode in roslyn compiler (#6950) 2019-01-28 15:56:27 -08:00
Justin Kotalik 7a98a04c53
Drain requests in native instead of managed for IIS In-process (#6816) 2019-01-28 15:20:28 -08:00
David Fowler 447f4bc298
Reuse the stack for OnCompleted and OnStarting calls (#6833)
- Reviewing profiles for MVC and other things that use RegisterForDispose, this shows up as a significant amount of allocations.
2019-01-28 20:37:11 +00:00
David Fowler 549f8e1773
Remove over engineered callback writing and just write chunks directly. (#6901) 2019-01-28 20:36:47 +00:00
Chris Ross 7d4b6fccff
Clean up ManualResetEvent usage in tests (#6961) 2019-01-28 12:10:16 -08:00
Pavel Krymets 440204892e
Use published apps in IIS tests (#7027) 2019-01-28 12:02:42 -08:00
Nate McMaster ac04019e42
Remove obsolete build infrastructure (#6995)
Changes:

* Remove obsolete targets which are unnecessary now that this repo no longer builds git submodules in a separate build process
* Remove the need for static analysis of 'ArtifactInfo' items
* Simplify how the code signing task is configured
* Remove unused repo tasks
* Remove duplicate lists of external dependencies and packages to be produced
* Remove obsolete build definition
* Remove obsolete build script parameters
* Add VisualStudioSetupOutputPath
2019-01-28 09:57:59 -08:00
Chris Ross 6c5e0cae67
Skip kestrel h2spec tests (#7035) 2019-01-28 09:36:05 -08:00
Pavel Krymets 141f3d8781
Reenable application initialization module tests (#7024) 2019-01-28 09:24:42 -08:00
Pavel Krymets 3ea1f6a0e9
Disable ResponseFormats_Chunked test (#6952) 2019-01-25 21:03:18 -08:00
Chris Ross 2b7c26a123
Dynamically install NGinx Internal/#1525 (#6963) 2019-01-25 14:32:32 -08:00
Pavel Krymets ebb7f3ade3
Harden IISExpress shutdown code (#7004) 2019-01-25 09:19:51 -08:00
Nate McMaster 5a0e227fad
Merge branch 'release/2.2' 2019-01-24 16:14:55 -08:00
Stephen Halter 2853b451a2 Add RequestAbortedTokenIsUsableAfterCancellation test 2019-01-24 12:38:16 -08:00
Stephen Halter 5d554aeecd Revert "Wait to dispose RequestAborted CTS (#4447)"
This reverts commit 0622513058.
2019-01-24 11:23:58 -08:00
Chris Ross 24f37a9619
[automated] Merge branch 'release/2.2' => 'master' 2019-01-23 11:40:55 -08:00
Chris Ross 1fe7f5e02a
Make auth schemes const #5884 #6020 (#6934) 2019-01-22 15:04:10 -08:00
Chris Ross f4c5ac7635
Move Kestrel.Core.Tests to their own test group (#6927) 2019-01-22 12:41:12 -08:00
Pavel Krymets f83f3bca08
Lock when removing disconnect handler (#6862) 2019-01-18 20:25:56 -08:00
John Luo 8c06f04d50
Call StopAsync before disposing (#6189) (#6866) 2019-01-18 18:30:54 -08:00
Pavel Krymets 8006e2d07f
More logging in IISExpress shutdown (#6854) 2019-01-18 14:29:07 -08:00
Justin Kotalik 707f06ead8
Address flaky ANCMV1 tests (#6844) 2019-01-18 14:22:56 -08:00
Nate McMaster 922512a9fb
Convert the artifacts folder layout to match Arcade (#6850)
Changes:
* IsProductPackage => IsShippingPackage
* artifacts/$config/packages => artifacts/packages/$config
* packages/product => packages/Shipping
* packages/internal => packages/NonShipping
* Renamed MSBuild properties used for output folders
* Update build tools to use 2 spaces in global.json
2019-01-18 13:38:24 -08:00
Stephen Halter 7d4ae6049f
Revert "Revert "Wait to dispose RequestAborted CTS (#4447)"" (#6812)
This reverts commit 29b7c5c030.
2019-01-17 16:22:03 -08:00
Ryan Brandenburg 49a2de9e59
Remove old properties (#6396)
* Remove AspNetCoreHostingModel which is now redundant

* Remove NETCoreAppMaximumVersion
2019-01-17 13:42:28 -08:00
Sourabh Shirhatti 17e5be6fbc Clean up event log strings for ANCM (#4515) 2019-01-16 16:18:01 -08:00
Pavel Krymets 6cac028716
Switch IIS tests to Hosted queue (#6746) 2019-01-16 11:47:52 -08:00
Justin Kotalik 8119c57669
Always copy nuget package output to build directory (#6631) 2019-01-16 10:45:45 -08:00
Pavel Krymets 41c1490468
Add an event log message when loading hostfxr fails (#6670) 2019-01-15 15:07:51 -08:00
Stephen Halter 0622513058
Wait to dispose RequestAborted CTS (#4447) 2019-01-15 14:54:10 -08:00
Pavel Krymets 4c956d4767
Add SkipIfNotAdminAttribute to StartsWithDotnetInstallLocation (#6718) 2019-01-15 13:25:07 -08:00
Chris Ross 1f892d798d
Add AllowSynchronousIO to TestServer and IIS, fix tests (#6404) 2019-01-15 11:48:17 -08:00
Stephen Halter 0defbf74f8
Fix flakiness in Kestrel ungraceful shutdown test (#6637) 2019-01-15 11:10:44 -08:00
Pavel Krymets 437baf6f5e
Port Handle EOF HResult from async callback to 2.2 (#6483) 2019-01-15 10:33:26 -08:00
Pavel Krymets 5fd9435392
Port ANCM current directory changes to 2.2 (#6150) 2019-01-15 09:00:50 -08:00
Justin Kotalik cdd38d70cf
Implement Stream Adapters (and minor nitpics) (#6583) 2019-01-15 09:00:06 -08:00
David Fowler 3f1760c52b
Reduce copies for WebSocket reads (#6656)
- Change the upgrade message body to use the transport pipe instead of the request body pipe.
- Remove some logic from the base type (more can be removed but this is a conservative change)
- Improve performance of the ReadAsync call
2019-01-14 14:14:02 -08:00
Stephen Halter cd0eab88ea
Lower log severity for opening internal libuv pipe (#6636)
Addresses #4741
2019-01-14 12:29:49 -08:00
Nate McMaster 7f7723bdf2
Consume dependencies updates automatically via darc (#6676)
This refactors the list of dependency versions to support consuming updates automatically via darc and maestro.
2019-01-14 12:01:31 -08:00
Doug Bunting 970bced25c
Update branding to 2.2.2 (#6608)
- pin System.Net.WebSockets.WebSocketProtocol to version 4.5.3
- update Directory.Build.targets files to correct build issues
- fix duplicate metadata during static analysis
2019-01-14 11:40:01 -08:00
Nate McMaster 089912cd1b
Switch queues used during Windows builds (#6667) 2019-01-14 10:07:12 -08:00
Justin Kotalik 3f4622ffe0
Fix StartupTests.StartsWithDotnetInstallLocation (#6589) 2019-01-14 08:16:48 -08:00
David Fowler 71ce37ee91 Remove WebSocketProtocol dependencies (#6651) 2019-01-13 18:22:11 -08:00
Ben Adams b27739ad3f Shrink ParseRequestLine inner loop (#6594) 2019-01-11 20:34:30 -08:00
Nate McMaster a9132ad26c
Switch agent queues used during Windows builds 2019-01-11 15:16:57 -08:00
Kahbazi 7883eb65a2 Replace Cosnsole.WriteLine with Debug.WriteLine (#6618) 2019-01-11 14:24:10 -08:00
Justin Kotalik 2f6ff70dd4
Disable a set of flaky IIS tests (#6606) 2019-01-11 13:32:27 -08:00
Ben Adams 31c8423df1 Devirtualize HttpHeaders.Reset (#5950)
* Use Inlining to devirtualize
2019-01-10 20:34:41 -08:00
Pavel Krymets 5299eff616
Use hostfxr error callback support (#6043) 2019-01-10 14:07:47 -08:00
Pavel Krymets 26c78ee542
Create folders for debug log file (#6546) 2019-01-10 12:03:54 -08:00
Nate McMaster 22f3166fa6
Merge branch 'release/2.1' into release/2.2 2019-01-10 01:22:10 -08:00
Ben Adams ad11f890ef Resolve input/output via IDuplexPipe interface once (#6371) 2019-01-09 21:25:22 -08:00
Nate McMaster 0f65d44482
Merge branch 'release/2.2' 2019-01-09 18:09:25 -08:00
Nate McMaster a6b04bf969
Fix MusicStore tests for 2.2 2019-01-09 17:18:01 -08:00
Justin Kotalik a474a0567f
Merge branch 'release/2.2' 2019-01-09 16:42:12 -08:00
Hao Kung d7a7c65b2b
Remove old 1.x auth stack (#4485)
* Remove old 1.x auth stack

Fixes https://github.com/aspnet/AspNetCore/issues/3999
2019-01-09 15:56:19 -08:00
Nate McMaster a3f9b74bb9
Merge branch 'release/2.1' into release/2.2 2019-01-09 14:52:53 -08:00
David Fowler ea344bf726
Don't allocate the FormFeature eagerly (#6511)
- Expose FormOptions on DefaultHttpContext
- Use those options on DefaultHttpContext when the FormFeature is initialized
2019-01-09 14:44:41 -08:00
Pavel Krymets b6bdffe247
Remove copy targets from ResolveIISReferences (#6539) 2019-01-09 14:05:41 -08:00
Pavel Krymets 422b3222d2
Add InstallLocation registry key support (#5705) 2019-01-09 13:47:00 -08:00
Pavel Krymets 89ef215146
Fix ServerTests test failure (#6530) 2019-01-09 12:03:45 -08:00
David Fowler a11c68ae35
Remove all extensibility from the DefaultHttpContext (#6504)
- Seal all of the classes
- Remove virtual methods
- Delete pooled HttpContext code
- Removed obsolete AuthenticationManager
2019-01-09 11:37:06 -08:00
David Fowler 688ad19170
Reuse HttpContext object per HTTP/1 connection and HTTP/2 stream (#6424)
- Today in Kestrel, we reuse the IFeatureCollection per connection and per Http2Stream. This PR aims to take advantage of that same technique and affinitize the HttpContext and friends so that they are only allocated per connection.
- ReusableHttpContext and friends mimic the functionality of DefaultHttpContext but is sealed and has no overridable methods.
- Introduce IHttpContextContainer which allows servers to cache the HttpContext and friends across requests.
2019-01-08 16:54:46 -08:00
Luke Latham b4c9ca12b4 Spelling typo in ANCM event log message (#6495) 2019-01-08 16:33:32 -08:00
Nate McMaster ce548479e1
Merge branch 'release/2.1' into release/2.2 2019-01-08 12:00:04 -08:00
Nate McMaster 5d16f97965
Remove netcoreapp2.0 test TFMs (#6461)
.NET Core 2.0 reached EOL last year. This removes multi-targeting our test projects and test assets to only use .NET Core 2.1 and .NET Framework 4.6.1.
2019-01-08 11:20:09 -08:00
Pavel Krymets c60d1e1a14
Handle EOF HResult from async callback (#6453) 2019-01-07 15:04:28 -08:00
dotnet-bot c06eec1e8f Merge in 'release/2.2' changes 2019-01-07 21:31:03 +00:00
Justin Kotalik 2e67864995 Merge branch 'release/2.1' into release/2.2 2019-01-07 10:27:41 -08:00
dotnet-bot 973b4b2fbf Merge in 'release/2.1' changes 2019-01-07 17:35:10 +00:00
Justin Kotalik 375e9d2cbd
Make music store project ref (#6313) 2019-01-07 09:34:05 -08:00
Nate McMaster edfb2ab8ab
Merge branch 'release/2.2' 2019-01-05 00:34:13 -08:00
dotnet-bot 590fe38284 Merge in 'release/2.2' changes 2019-01-04 22:20:08 +00:00
Nate McMaster 9556cc133d
Merge branch 'release/2.1' into release/2.2 2019-01-04 14:17:28 -08:00
dotnet-bot da77274259 Merge in 'release/2.1' changes 2019-01-04 18:01:45 +00:00
Nate McMaster 436076fd55
Fix broken tests and VS solutions caused by source code reorganization and other build infra cleanup
Changes:
* Fix broken tests and VS solutions caused by source code reorganization
* Add a check to validate generated code and solutions on PRs
* backport some source code reorg to src/Identity
* Fix startvs.cmd if you've already run build.ps1
* Add PR checks for tests on Linux/macOS
* Skip broken Nginx tests
* Add conditions to skip IIS tests on non-Windows platforms
2019-01-04 10:00:26 -08:00
Pavel Krymets 143a727113
Remove AspNetCoreModule virtual projects (#6317) 2019-01-04 09:40:40 -08:00
David Fowler c61639b4a4
Reduce HTTP/2 allocations (#6119)
- Remove per request allocations on the thread pool by implementing IThreadPoolWorkItem on Http2Stream
- Made generic version of Http2Stream to store the IHttpApplication instead of using a tuple
- Removed passing of IHttpApplication<TContext> everywhere
2019-01-04 08:33:57 -08:00
Stephen Halter 6a5c0cf189
Manually time out H2SpecTests (#6366) 2019-01-03 16:31:53 -08:00
Stephen Halter b1f778bfb8
[Kestrel] Allow HTTP/2 stream drain timeout during trailers (#4070)
- Move all HTTP/2 stream state management into request parsing loop
2019-01-03 15:03:00 -08:00
Nate McMaster bfec2c14be
Merge branch 'release/2.2' 2019-01-03 12:18:01 -08:00
Justin Kotalik 910e5ad7e5
Reference InprocessTestSite in CreateDefaultBuilderApp and Disable Failing Tests (#6318) 2019-01-03 08:54:14 -08:00
Justin Kotalik 2d48eeb479 Feedback 2019-01-02 14:04:42 -08:00