Commit Graph

256 Commits

Author SHA1 Message Date
Dylan Dmitri Gray 9969e99ef4
Dylan/request throttle (#10413)
* request throttling -- initial implementation

* prevented semaphore leak; added xml docs

* small doc fixes

* reference document

* Added internals folder, added structured logging,

* removed typo'd dependency

* no default MaxConcurrentRequests; other polishing

* renamed SemaphoreWrapper->RequestQueue; cleanup

* moved SyncPoint; prevented possible semaphore leak

* adjusting feedback

* regen refs

* Final changes!
2019-05-27 14:46:14 -07:00
Justin Kotalik a20ddd8374
Make Native components a non-required part for build.cmd, fix IIS native code check (#10435) 2019-05-25 15:20:26 -07:00
Nate McMaster 01a8798936
Update links and disable warnings related to tests that don't work in Helix (#10427) 2019-05-21 16:39:06 -07:00
Nate McMaster 77e08c26d5
Replace all usages of RepositoryRoot with RepoRoot (#10267)
Preparing to adopt the Arcade SDK, which uses the shorter variable name instead
2019-05-15 12:00:19 -07:00
Justin Kotalik 47575a08a5
Handle a few other potentially null properties (#10053) 2019-05-14 18:08:05 -07:00
Justin Kotalik aaaaf572fd
Implement MaxRequestBodySize feature for IIS inprocess (#9475) 2019-05-05 19:30:12 -07:00
Nate McMaster 8863ebfda1
Add --mutex option to yarn commands (#9919)
Attempt to improve reliability of running yarn commands. Our project structure might cause yarn to be launched multiple times. According to yarn docs, this option should avoid conflicts between multiple instances of yarn

https://yarnpkg.com/en/docs/cli/#toc-concurrency-and-mutex
2019-05-02 17:45:55 -07:00
Ben Adams 86728ecc17 Seal some internal derived classes (#9880) 2019-05-01 10:29:05 -07:00
Justin Kotalik 801198c7a9
Fix bad assert (#9835) 2019-04-29 15:40:22 -07:00
Javier Calvarro Nelson 6fa9398781
[MVC][Fixes #8426]TempData does not clear when using __Host- as cookiename prefix (#9741) 2019-04-25 17:32:12 +02:00
Justin Kotalik 87229e315e
Lock during finalizer to not race with dispose in MemoryPoolBlock (#9555) 2019-04-22 15:55:53 -07:00
David Fowler 5f3bdba584
Spanify path -> string logic (#9628)
- Use spans instead of byte[] and array segments when turning the URL into a string
2019-04-22 15:53:56 -07:00
Pavel Krymets 56c064bd53 Display startup errors in ANCM (#8518) 2019-04-18 13:48:48 -07:00
Javier Calvarro Nelson 5889aea06c
Enable custom restore of NPM dependencies for csproj files
Enables custom restore of NPM dependencies for csproj files that require it.
2019-04-14 15:02:37 +02:00
David Fowler 7f5f019101 Remove target invocation exceptions (dotnet/extensions#1413)
- Use BindingFlags.DoNotWrapExceptions to invoke\n\nCommit migrated from 0b1aa473a7
2019-04-12 23:21:12 -07:00
Javier Calvarro Nelson f934bfaa7e
[Https][Tooling] Add digital signature to the KeyUsage of the HTTPS dev-cert (#9293)
* [Https][Tooling] Add digital signature to the KeyUsage of the HTTPS dev-cert
2019-04-12 09:27:54 +02:00
Javier Calvarro Nelson 6f13e7b77a
E2E infrastructure cleanup (#9163) 2019-04-10 17:19:52 +02:00
Javier Calvarro Nelson 4abf766c3c
Update Identity server dependency for preview4 (#9104)
* Updates Identity server dependency for preview4
* Infrastructure improvements.
* Updates react versions.
* Updates migrations.
* Makes templates show up in Visual Studio
2019-04-08 17:06:58 +02:00
Javier Calvarro Nelson 437134f1da
[Infrastructure] Standarize E2E test asserts and increase wait time (#9080)
* Standarize E2E test asserts and increase wait time
2019-04-05 09:00:11 +02:00
Javier Calvarro Nelson 98d8b9ab4a
[Infrastructure] Retry yarn install on failure (#9068)
* [Infrastructure] Retry yarn install on failure
2019-04-04 20:39:52 +02:00
Ryan Nowak ffc4b00764 Generalize and harden ST-sync-context
\n\nCommit migrated from 247bb34a63
2019-03-23 20:26:53 -07:00
Javier Calvarro Nelson 9f1a978230
[Infrastructure improvements] (#8275)
* Improved selenium start and tear down
  * Selenium is set up and torn down in an assembly fixture.
  * Selenium is initialized lazily and in a non-blocking way.
  * Selenium processes are tracked as part of the build and their pids
    written to a file on disk for cleanup in the event of unexpected
    termination of the test process.
  * Browser fixture retries with linear backoff to create a remote
    driver. Under heavy load (like when we are doing a simultaneous NPM
    restore) the selenium server can become unresponsive so we retry
    three times, with a longer comand timeout allowance each time up to
    a max of 3 minutes.
* Moved test project setup to build time instead of runtime.
  * Added target PrepareForTest to create the required files for testing
    * The template creation folder.
    * The template props file to use our built packages.
    * The folder for the custom hive.
  * Added assembly metadata attributes to find all the data we need to
    run the tests.
    * Path to the artifacts shipping packages folder.
    * Path to the artifacts non-shipping packages folder.
    * Path to the test templates creation folder.
    * Path to use for the custom templating hive used in tests.
  * Proper cleanup as part of the build
    * Remove the test templates creation folder.
    * Remove the test packages restore path.
    * Recreate the test templates creation folder.
    * Recreate the test packages restore path.
  * Generated Directory.Build.Props and Directory.Build.Targets in the
    test templates creation folder.
  * Cleaned up potentially stale templatetestsprops.
* Improved test flows
  * Initialization is done lazily and asynchronously.
    * Selenium
    * Browser fixture
    * Template initialization.
  * Flattened test flows to avoid assertions inside deep callstacks.
    * All assertions happen at the test level with improved error messages.
      * With the exception of the migrations assertions.
    * Assertions contain information about which step failed, for what
      project and what failure details.
  * Broke down tests to perform individual steps instead of mixing build
    and publish.
    * Publish project.
    * Build project. (Debug)
    * Run built project.
    * Run published project.
  * Concentrated build logic into the Project class.
    * Context between the different steps of a test is maintained in
      this class.
    * All operations that require coordination are performed within this
      class.
      * There is a lock for dotnet and a lock for nodejs. When building
        SPAs we acquire the nodejs lock to correctly prevent multiple
        runs of nodejs in parallel.

[ApiAuthorization template cleanups]
  * Fix preview3 issues with breaking changes on Entity framework by
    manually configuring the model in ApiAuthorizationDbContext.
  * Add app.db to the project file when using local db.
  * Fix linting errors on angular template.
  * Fix react tests
  * Add tests to cover new auth options in the SPA templates.
2019-03-20 08:44:20 +01:00
Ryan Nowak d329cca17d Change APIs to internal in Diagnostics
These types are still used, but we don't want them to be public.
2019-03-13 13:15:06 -07:00
Javier Calvarro Nelson d7a9606040
[Templating][Components] Unify and improve E2E testing infrastructure (#8188)
* Unify the Templating and Components testing infrastructure.
* Enable test project discovery in the components E2E tests.
* Enable selectively disabling Selenium tests through build properties.
2019-03-11 18:40:18 +01:00
Hao Kung 435867e8c5
Add ability to skip tests on specific helix queues (#8231) 2019-03-06 23:53:18 -08:00
Justin Kotalik fc9e48877c
Add FormPipeReader (#7964) 2019-03-01 14:41:05 -08:00
Justin Kotalik 3509323ad1
Remove extra await/state machine in FlushAsync (#7646) 2019-02-28 22:42:42 -08:00
Hao Kung a2c8a34556
Reenable some helix tests (#7763)
* Fix identity UI script tests on helix
* Add OnHelix static helper method
2019-02-25 23:39:46 -08:00
Chris Ross cc62bcebfc
Skip HttpSys.Https tests on Helix Internal/#1816 (#7578) 2019-02-15 12:33:23 -08:00
Nate McMaster 338de4710a
Automatically set 'PrivateAssets=All' for .Sources references (#7539)
When a `<Reference>` is named `*.Sources`, set PrivateAssets=All (exclude from generated nuspec) and IncludeAssets=ContentFiles (only consume content files, not .dll's)
2019-02-13 14:31:15 -08:00
Chris Ross 06d7fe73a9
Implement ITlsHandshakeFeature for HttpSys (#7284) 2019-02-13 08:39:45 -08:00
Hao Kung 26acbc3861
Reorganize helix files (#7353) 2019-02-07 16:27:48 -08:00
James Newton-King 574be0d22c
Add readonly modifier to readonly structs (#7169) 2019-02-01 15:04:25 +13:00
Ryan Brandenburg 66773c57bc Use Arcade (dotnet/extensions#586)
Use arcade
\n\nCommit migrated from f0458995c6
2019-01-29 13:26:53 -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
Pavel Krymets 141f3d8781
Reenable application initialization module tests (#7024) 2019-01-28 09:24:42 -08:00
Hao Kung 2791dbf892 Update shared tests to target netcoreapp3.0 on master (#6788) 2019-01-17 09:50:41 -08:00
Chris Ross 1f892d798d
Add AllowSynchronousIO to TestServer and IIS, fix tests (#6404) 2019-01-15 11:48:17 -08:00
Chris Ross 6a44aca6a2
React to WebHostBuilderFactory changes (#6460) 2019-01-15 08:09:27 -08:00
Nate McMaster 3cd5054eb5
Merge branch 'release/2.2' 2019-01-11 07:20:00 -08:00
Nate McMaster 22f3166fa6
Merge branch 'release/2.1' into release/2.2 2019-01-10 01:22:10 -08:00
Chris Ross 4de3b5e105 Move the HostFactoryResolver to Extensions (dotnet/extensions#925)
\n\nCommit migrated from 9cd9cea398
2019-01-09 13:38:12 -08:00
Nate McMaster d3838620d6
Convert SignalR projects to build with ProjectReference (#6457)
Part of #4246 

Changes:
* Update source code layout to follow the new conventions for this repo
* Update project files to use `<Reference>`
* Update targets to build NPM packages
* Update BuildTools to support custom 'restore' and 'test' targets
2019-01-09 13:12:35 -08:00
Nate McMaster ee6763d146 Merge branch 'release/2.2'
\n\nCommit migrated from 604018cb12
2019-01-07 16:23:11 -08:00
Nate McMaster 16c7cbba45 Merge branch 'release/2.1' into release/2.2
\n\nCommit migrated from 6e758d41c1
2019-01-07 15:58:24 -08:00
Nate McMaster 3db4f50eac Remove netcoreapp2.0 test TFMs (dotnet/extensions#907)
.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.\n\nCommit migrated from 084494d21d
2019-01-07 15:52:44 -08:00
Pavel Krymets bdc2ea81c0 Unify TypeNameHelpers (dotnet/extensions#876)
\n\nCommit migrated from 2f53c36195
2018-12-31 12:54:54 -08:00
David Fowler b12c33dbc3
Replace ManualResetEvents with a TCS (#6173)
* Added TaskCreationOptions.RunContinuationsAsynchronously in a few places
2018-12-29 08:24:57 -04:00
Justin Kotalik e8d898dcd9 Merge branch 'release/2.2' 2018-12-26 14:21:28 -08:00
Nate McMaster f4bb260444
Merge branch release/2.1 into release/2.2 2018-12-21 13:24:33 -08:00
Ajay Bhargav Baaskaran 2a696f6a1c Merge branch 'release/2.2' 2018-12-18 12:50:01 -08:00
Ajay Bhargav Baaskaran 647fbbac7b Merge branch 'release/2.1' into ajbaaska/merge-22 2018-12-17 18:40:08 -08:00
John Luo b8db81898a Merge remote-tracking branch 'origin/master' 2018-12-17 15:16:21 -08:00
John Luo 98636fed6d Merge branch 'release/2.2' 2018-12-17 14:24:30 -08:00
Doug Bunting e717a8443e
Update last few projects to target `netcoreapp3.0` (#5128)
- #3754
- remove `#if`'s for multi-targeting where source is never multi-targeted
- left `StreamPipeReader`, `StreamPipeWriter` and their test classes alone because they're moving to CoreFx
2018-12-17 12:30:28 -08:00
Ajay Bhargav Baaskaran b079041488
Convert Razor to use Reference (#4954) 2018-12-17 12:10:40 -08:00
Nate McMaster 02780bac26
Merge branch 'release/2.2' 2018-12-14 16:03:16 -08:00
John Luo f659f0acce Merge branch 'release/2.1' into release/2.2 2018-12-14 15:48:40 -08:00
Justin Kotalik 68f0aff144 security to project ref (#4618) 2018-12-14 14:49:23 -08:00
Nate McMaster feb641ddda
Merge branch 'release/2.1' into release/2.2 2018-12-14 09:44:15 -08:00
Nate McMaster b330870678 Merge branch 'release/2.2'
\n\nCommit migrated from 8c833ae5fb
2018-12-14 09:34:37 -08:00
Nate McMaster 93b7e57a30 Merge branch 'release/2.1' into release/2.2
\n\nCommit migrated from 0a705e33a5
2018-12-14 08:43:08 -08:00
Nate McMaster 13ae0057fb
Replace .Sources package references with local code (#4801)
Replaces package references the following packages with local code:

Microsoft.AspNetCore.Certificates.Generation.Sources
Microsoft.Extensions.CopyOnWriteDictionary.Sources 
Microsoft.Extensions.ClosedGenericMatcher.Sources
Microsoft.Extensions.ObjectMethodExecutor.Sources
Microsoft.Extensions.PropertyActivator.Sources
Microsoft.Extensions.PropertyHelper.Sources
Microsoft.Extensions.RazorViews.Sources
Microsoft.Extensions.SecurityHelper.Sources
Microsoft.Extensions.StackTrace.Sources
Microsoft.Extensions.WebEncoders.Sources
2018-12-14 08:36:36 -08:00
Nate McMaster 4fcd97e4d2 Remove Microsoft.Extensions.WebEncoders.Sources
\n\nCommit migrated from e7bb41b9bf
2018-12-13 11:41:24 -08:00
Nate McMaster cb018faf53 Remove Microsoft.Extensions.StackTrace.Sources
\n\nCommit migrated from 1713ada32d
2018-12-13 11:39:54 -08:00
Nate McMaster 01a4a273d7 Remove Microsoft.Extensions.SecurityHelper.Sources
\n\nCommit migrated from c41abe44af
2018-12-13 11:26:34 -08:00
Nate McMaster e0051303d1 Remove Microsoft.Extensions.RazorViews.Sources
\n\nCommit migrated from 3f5df6ddbc
2018-12-13 11:19:00 -08:00
Nate McMaster 921060b2ca Remove Microsoft.Extensions.PropertyActivator.Sources and Microsoft.Extensions.PropertyHelper.Sources
\n\nCommit migrated from 6c11818fe9
2018-12-13 11:15:55 -08:00
Nate McMaster bbf0ebdd91 Remove Microsoft.Extensions.ObjectMethodExecutor.Sources
\n\nCommit migrated from 71a672e287
2018-12-13 11:04:12 -08:00
Nate McMaster 2f36a1ecf9 Remove Microsoft.Extensions.ClosedGenericMatcher.Sources
This code isn't used locally, so it will move to aspnet/AspNetCore
\n\nCommit migrated from 7305817fea
2018-12-13 11:01:34 -08:00
Nate McMaster e8d84a1962 Remove Microsoft.Extensions.CopyOnWriteDictionary.Sources
This code will move to aspnet/AspNetCore
\n\nCommit migrated from 468940be7f
2018-12-13 10:43:02 -08:00
Nate McMaster 2d001bb583 Stop producing Microsoft.AspNetCore.Certificates.Generation.Sources
This was only used in the aspnet/AspNetCore repo. so the source for this project is moving to that repo
\n\nCommit migrated from 9290dc1dbc
2018-12-13 10:37:41 -08:00
Nate McMaster a053c7e1a4 Stop producing Microsoft.Extensions.Process.Sources
This was only used in the aspnet/AspNetCore repo. so the source for this project is moving to that repo
\n\nCommit migrated from 98522c18fb
2018-12-13 10:33:33 -08:00
Nate McMaster 790ae47055
Merge branch 'release/2.2' 2018-12-10 17:41:14 -08:00
Nate McMaster 2c4d586809
Merge 'release/2.1' into release/2.2
Co-authored-by: Justin Kotalik <jukotali@microsoft.com>
2018-12-10 15:56:42 -08:00
Justin Kotalik 5f843f223e
[2.1] Make Antiforgery, ResponseCaching, StaticFiles, and Cors use project ref (#4484) 2018-12-07 14:30:50 -08:00
Nate McMaster df3e4b98a2
Backport infrastructure cleanup to share sources and project references (#4513) 2018-12-07 12:20:13 -08:00
Nate McMaster 85e2147ff0
Merge branch 'release/2.2' 2018-12-07 11:11:44 -08:00
Nate McMaster 569a14ecb8
Merge branch 'release/2.1' into release/2.2 2018-12-06 17:09:03 -08:00
Justin Kotalik 736083c2f2
Make HttpSys use ProjectReference and move HttpSys into Servers folder (#4335) 2018-12-04 16:44:07 -08:00
Nate McMaster 006558c412
Merge branch 'release/2.2' 2018-11-21 16:28:33 -08:00
Nate McMaster 71b1bb8887
Merge branch 'release/2.1' into release/2.2 2018-11-21 14:57:45 -08:00
Nate McMaster 6a6c88d80b
Merge source code from aspnet/Diagnostics to this repo 2018-11-21 14:23:55 -08:00
Nate McMaster ed0b421695
Reorganize source code in preparation to move into aspnet/AspNetCore
Prior to reorganization, this source code was found in 8893337fb0
2018-11-21 13:54:33 -08:00
Nate McMaster 7ffbb6ed3b
Continue to produce .Sources packages from src/Shared/
This is temporary until we finish replacing internal PackageReference with project ref
2018-11-20 11:01:36 -08:00
Nate McMaster 0af21077c3
Update .NET Core 3.0 dependencies (#4091)
* Update Extensions to 3.0.0-preview.18569.14
* Update EFCore to 3.0.0-preview.18569.2
* Update corefx to preview.18566.8
* Update core-setup to preview-27117-01
2018-11-20 10:37:13 -08:00
Nate McMaster feb68c1382
Merge branch 'release/2.1' into release/2.2 2018-11-20 09:13:55 -08:00
Nate McMaster dc4c18e9ac
Merge source code from aspnet/Hosting into this repo 2018-11-19 22:02:46 -08:00
Nate McMaster 87ab2744ce
Reorganize source code in preparation to move into aspnet/AspNetCore
Prior to reorganization, this source code was found in 3f7ee338d4
2018-11-19 22:00:32 -08:00
Pavel Krymets ebb1165b14 Handle nullable enum default values (dotnet/extensions#531)
\n\nCommit migrated from 33f839d585
2018-11-16 13:57:43 -08:00
Pavel Krymets 6c5d291b10 Remove internal types from Logging and Abstractions (dotnet/extensions#513)
\n\nCommit migrated from 55518d7983
2018-11-16 08:33:57 -08:00
Nate McMaster 406c80bfb0
Reorganize source code in preparation to move into aspnet/AspNetCore
Prior to reorganization, this source code was found in 4598850c20
2018-11-14 16:03:24 -08:00
Nate McMaster 9d0c69f277
Reorganize source code in preparation to move into aspnet/AspNetCore
Prior to reorganization, this source code was found in 15ba5065a9
2018-11-14 11:18:51 -08:00
Javier Calvarro Nelson ea14c9c865 Change async void tests to async Task (dotnet/extensions#488)
\n\nCommit migrated from d2f4c6a2ed
2018-11-13 10:11:21 -08:00
Gert Driesen 83c88bd6bd Eliminate use of method groups in PropertyHelper (dotnet/extensions#465)
* Eliminate use of method groups, and use for loop to enumerate elements of array.

Improves performance and reduces allocations.

* PR feedback:
Remove extra parentheses, and undo change from foreach to for loop.

* PR feedback
Revert change from for to foreach.

* var-ify TryGetValue out parameter.
\n\nCommit migrated from 08adb5c2ca
2018-11-13 10:03:55 -08:00
Nate McMaster 4155f5584c Merge branch 'release/2.2'
\n\nCommit migrated from a550d3ebf0
2018-11-04 15:38:00 -08:00
Nate McMaster e667a1a0bc Merge branch 'release/2.1' into release/2.2
\n\nCommit migrated from cf4d6c3a3b
2018-11-04 15:13:00 -08:00
Nate McMaster aee5320ae9 Organize packages into different output paths based on whether they are "product" packages or not
\n\nCommit migrated from dbb97a2e13
2018-11-04 14:22:06 -08:00
Nate McMaster b0441192c3 Merge branch 'release/2.2'
\n\nCommit migrated from 3ba072c253
2018-11-02 01:32:56 -07:00
Nate McMaster 3b2dd5bee8 Merge branch 'release/2.1' into release/2.2
\n\nCommit migrated from 5b8b6c7a52
2018-11-02 01:28:11 -07:00
Nate McMaster 6d1eb9b8c4 Merge the source code from aspnet/DependencyInjection release/2.1
\n\nCommit migrated from 8b174f1f34
2018-11-02 01:22:41 -07:00
Nate McMaster 5261569b61 Reorganize source code in preparation to move into aspnet/Extensions
Prior to reorganization, this source code was found in https://github.com/aspnet/DependencyInjection/tree/dotnet/extensions@7a283947c231b6585c8ac95e653950b660f3da96
\n\nCommit migrated from 689c4a891c
2018-11-02 00:22:14 -07:00
Nate McMaster 5c9701e0b6 Merge branch 'release/2.2'
\n\nCommit migrated from 34204b6bc4
2018-10-30 17:16:51 -07:00
Nate McMaster 45b0b83997 Merge branch 'release/2.1' into release/2.2
\n\nCommit migrated from 18fcffbd25
2018-10-30 16:39:06 -07:00
Nate McMaster 5460fd093e Fix the package id for Microsoft.AspNetCore.BenchmarkRunner.Sources
\n\nCommit migrated from d0aa5c1701
2018-10-30 16:32:28 -07:00
Nate McMaster af034a9c5e Reorganize source code
In preparation for merging many other projects into this repo, this establishes a new source code organization which groups projects together based on subject matter.
\n\nCommit migrated from 7ce647cfa3
2018-10-30 14:18:11 -07:00