Commit Graph

154 Commits

Author SHA1 Message Date
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
Doug Bunting 3bb9cda189
Perform symbol publication using Microsoft.SymbolUploader.Build.Task (#10358)
- aspnet/AspNetCore-Internal#2126
- allow release pipeline to publish symbols on all builds: #10113
- add new project that publishes symbols to MSDL and SymWeb
  - release pipeline prepares then restores and builds the new project
  - expire symbols after 10 years (or so)

nits:
- add `$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE` to ci.yml
2019-05-23 22:14:40 -07:00
Nate McMaster 194b0b4523
Update install JDK script an instructions to make it easier to use for local development (#10306) 2019-05-20 08:48:54 -07:00
John Luo 818dc3b74a
Update log directory (#10301)
* Update log directory

This will now include functional test logs

* There were a few more places logs was used instead of log
2019-05-17 09:02:34 -07:00
Nate McMaster fa73edb9bf
Improve detection of JDK on Windows (#10294) 2019-05-16 12:41:50 -07:00
Nate McMaster dc90e11c7a
Move obj and bin directories into repo root (#10063)
The Arcade SDK requires that the obj/ and bin/ folders be placed in the top-level artifacts/ folder of the repo. Although this PR does not complete our Arcade convergence, this is a step towards updating our repo to build with the Arcade SDK.

Changes:
* Set output path for build to artifacts/bin/$(ProjectName)/ 
* Set intermediate output path for build to artifacts/obj/$(ProjectName)/
* Cleanup .gitignore files (remove duplication between repo-root and tested gitignore files)
* Add code check which looks for project files that share the same name (could cause issues)
* Rename project files to have unique names (avoid race condition of build output)
* Update all locations which were hard-coded to expect bin/ and obj/ in the project directory
* Add overrides for tests which still assert test binaries exist in a given location relative to the source code
2019-05-15 13:44:55 -07:00
John Luo 4946c72dab
Add build for linux-musl-arm64 (#10155)
* Add build for linux-musl-arm64

* Remove redundant apk installs
2019-05-14 15:44:52 -07:00
Pavel Krymets fa239f20a5 EnableAzurePipelinesReporter for helix (#8094)
* EnableAzurePipelinesReporter for helix

* Update Helix SDK

* Revert a fix that broke things even more

* Try publishing test assets

* Try fixing Kestrel tests on Helix

* Try a temp file in the working directory

* Skip Http2Spec tests on Debian 8

* Missed update

* Try a different format

* Disable failing test on Fedora

* Mark flaky test
2019-05-05 22:15:10 -07:00
Doug Bunting ed886c47fe
Merge branch 'release/2.2' -> 'master' 2019-05-05 11:14:25 -07:00
Doug Bunting 8cb331f8e1
Merge branch 'release/2.1' into release/2.2 2019-05-04 22:43:55 -07:00
Doug Bunting 6a6a119c9a Switch to non `-Int` pools and clear NuGet caches
- aspnet/AspNetCore-Internal#2436
- aspnet/AspNetCore#9767
2019-05-04 22:23:33 -07:00
Justin Kotalik 3797bffd9c
Only build site extensions on main build (#9722) 2019-04-30 08:50:44 -07:00
BrennanConroy de8ea91d0c
Upload artifacts for SignalR daily test run (#9660) 2019-04-23 19:50:08 -07:00
Doug Bunting 2e94885ecd
Merge branch 'release/2.2' into merge/release/2.1-to-release/2.2 2019-04-19 22:49:13 -07:00
Doug Bunting e96a53f9e7
Support internal pull requests (#9578)
- aspnet/AspNetCore-Internal#2231
- use internal pools for all internal builds
- do not sign in builds for internal pull requests

nits:
- VSTS -> Azure DevOps
- restore higher `maxParallel` values for E2E tests on Linux and Windows
2019-04-19 18:23:54 -07:00
Nate McMaster 52f3f79263 Use VS2019 Enterprise queues for testing (#9571) 2019-04-19 14:54:52 -07:00
Nate McMaster d4eaeec5a5
Stop running InstalVisualStudio.ps1 during CI builds (#9515) 2019-04-19 07:51:51 -07:00
Pranav K 56e2080ef7
Always fully build Components.Server.csproj (#9421)
* Always fully build Components.Server.csproj

* Use pre-built js files instead of building on the fly
* Use a sourcemap file for Debug. .gitignore sourcemap files
* Install nodejs on CodeCheck agents

Fixes https://github.com/aspnet/AspNetCore/issues/9402
2019-04-17 09:17:42 -07:00
Mikael Mengistu 4964b338ab
Report Java client test results (#9214) 2019-04-10 16:02:40 -07:00
BrennanConroy 7c76144865
Remove Cpp Client from this repo (#9050) 2019-04-10 09:51:33 -07:00
Doug Bunting 7d9916d0f7
Merge branch 'release/2.2' => 'master' 2019-04-05 17:33:21 -07:00
Justin Kotalik e863da19d0
Run Project templates in separate test check (#8966) 2019-04-04 14:32:45 -07:00
BrennanConroy 074b1757d7
Report JUnit test results for SignalR TS tests (#9058) 2019-04-04 08:21:19 -07:00
Doug Bunting ec82890133
Merge branch 'release/2.1' into release/2.2
- move to latest release/2.2 commit from aspnet/EntityFrameworkCore
2019-04-03 08:42:07 -07:00
Doug Bunting 4072f70b8a
Do not specify `name` of the default (hosted) pools (#9002)
- aspnet/AspNetCore#8862
    - `Hosted Linux Preview` pool name was also no longer valid; aspnet/AspNetCore-Internal#1880
- update e2e-test.yml to use modern AzDO job schema
    - https://github.com/dotnet/arcade/blob/master/Documentation/AzureDevOps/PhaseToJobSchemaChange.md
    - also update comments to refer to the job schema
- use BYOC queues on Windows; part of aspnet/AspNetCore-Internal#2033
- pick up latest release/2.1 commit for aspnet/EntityFrameworkCore for related changes
2019-04-02 16:37:37 -07:00
Justin Kotalik df3a702190 Update the SDK (#8670) 2019-04-01 15:18:18 -07:00
Doug Bunting b068c9a62c
Move to BYOC queues (#8694)
* Move to BYOC queues
- aspnet/AspNetCore-Internal#2033
- use conditions matching aspnet/Extensions and dotnet/Arcade
  - e.g. 05cb24592a/azure-pipelines.yml (L49-L54)
- install necessary Build Tools for Visual Studio 2019 components and workloads on CI
- revert part of 85ae18c723 because multiple editions of VS 2019 are now publicly available
  - that is, restore support for multiple editions in InstallVisualStudio.ps1
- update InstallVisualStudio.ps1 to
  - support BuildTools edition of VS 2019

nit: merge a couple of Windows build steps
  - support automatically updating latest version of a VS edition  on the machine
  - include `-Quiet` option for a completely non-interactive installation

* Install SQL Server 2017 Express LocalDB in Windows test job

* Drop back to SQL Server 2016 Express LocalDB

* Instead: Install SQL Server 2017 Express LocalDB and its cumulative update

* Don't move Microsoft.AspNetCore.Blazor.Templates.dll into output directory
- assembly is not of interest and should not be signed

* Revert most of "Don't move Microsoft.AspNetCore.Blazor.Templates.dll into output directory"
- didn't help odd attempt to sign this file and it was only a warning

This reverts commit b55d69c370.

* Back to using SQL Server 2016 Express LocalDB again
- installing cumulative update was taking extra time and not reliably updating the LocalDB install
- reverts part of 70d8d125f9, leaving direct download and some reordering

* Do not assume vsjitdebuger.exe exists
- component is not available in BuildTools edition of VS
2019-03-27 08:31:56 -07:00
Justin Kotalik 47bee4e06c
Get Binlogs from other linux machines. (#8841) 2019-03-27 08:25:02 -07:00
Doug Bunting f7440bed67
Do not assume vsjitdebuger.exe exists
- component is not available in BuildTools edition of VS
2019-03-26 22:25:16 -07:00
Doug Bunting 45480b10ae
Back to using SQL Server 2016 Express LocalDB again
- installing cumulative update was taking extra time and not reliably updating the LocalDB install
- reverts part of 70d8d125f9, leaving direct download and some reordering
2019-03-26 19:51:18 -07:00
Doug Bunting b55d69c370
Don't move Microsoft.AspNetCore.Blazor.Templates.dll into output directory
- assembly is not of interest and should not be signed
2019-03-26 18:47:11 -07:00
Doug Bunting 70d8d125f9
Instead: Install SQL Server 2017 Express LocalDB and its cumulative update 2019-03-26 18:47:11 -07:00
Doug Bunting 7a5981131c
Drop back to SQL Server 2016 Express LocalDB 2019-03-26 18:47:10 -07:00
Doug Bunting 7fd65f52cf
Install SQL Server 2017 Express LocalDB in Windows test job 2019-03-26 18:47:10 -07:00
Doug Bunting 5fa1c241ec
Move to BYOC queues
- aspnet/AspNetCore-Internal#2033
- use conditions matching aspnet/Extensions and dotnet/Arcade
  - e.g. 05cb24592a/azure-pipelines.yml (L49-L54)
- install necessary Build Tools for Visual Studio 2019 components and workloads on CI
- revert part of 85ae18c723 because multiple editions of VS 2019 are now publicly available
  - that is, restore support for multiple editions in InstallVisualStudio.ps1
- update InstallVisualStudio.ps1 to
  - support BuildTools edition of VS 2019

nit: merge a couple of Windows build steps
  - support automatically updating latest version of a VS edition  on the machine
  - include `-Quiet` option for a completely non-interactive installation
2019-03-26 18:46:59 -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
Andrew Stanton-Nurse 706778d4de
Add a separate test pass to run flaky tests that doesn't fail the build (#8486)
Similar to https://github.com/aspnet/Extensions/pull/1239.
2019-03-18 18:21:14 -07:00
Doug Bunting 0c6591baea
Merge release/2.1 up to commit d2a4435ac8 => release/2.2
- remove updates about baseline test (5661c41909 and d2a4435ac8)
  - already done (differently) in release/2.2
- add JDK installation -- missing in these images but not needed in `release/2.1`
- add packages needed to run Chrome
2019-03-13 19:17:05 -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
Doug Bunting c902b18b0d Bump up the AzDO default job timeout to 3 hours
- aspnet/AspNetCore-Internal#1909
2019-03-07 13:00:38 -08:00
N. Taylor Mullen 4093399e8c Skip first run experience on azure pipelines.
- Suppresses the 'Welcome to .NET Core!' output that times out tests and causes locked file issues. When using dotnet we're not guarunteed to run in an environment where the dotnet.exe has had its first run experience already invoked. This would cause our functional tests to time out and occasionally crash due to dotnet first run experience sentinels being locked.

aspnet/AspNetCore-Internal#1859
2019-03-01 10:35:04 -08:00
BrennanConroy a936d77845
Automatically capture crashdumps for C++ client tests (#7940) 2019-02-27 14:20:14 -08:00
Nate McMaster d2d60000eb
Create Linux installers for the aspnetcore targeting pack (#7776)
This creates 3 new build outputs:

* aspnetcore-targeting-pack-$(version).tar.gz
* aspnetcore-targeting-pack-$(version)-linux-x64.deb
* aspnetcore-targeting-pack-$(version)-linux-x64.rpm

Other changes:
* Make RPM packaging consistent with other installers. Vendor == Microsoft Corporation
* Add shared properties for building the targeting pack (or not building it in a servicing build)
2019-02-25 12:00:36 -08:00
Doug Bunting 4f2a0edc97
Update Azure queues for Linux and MacOS builds (#7231)
- aspnet/AspNetCore-Internal#1717
- use a specific Linux image
2019-02-25 09:50:01 -08:00
Nate McMaster 1b27c9905c
Update dependencies and react to changes (#7844)
* Add workaround for dotnet/sdk#2976
* Add new restore sources
* Update BAR manifest to point to  https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore/index.json
* Obsolete WithCulture
* Add retries to dockerbuild.sh
* Ensure each test run gets a unique in-memory database
2019-02-22 19:09:08 -08:00
Nate McMaster fbaa3e8b77
Always kill processes and remove direct reference to component governance task (#7793) 2019-02-21 09:29:42 -08:00
Nate McMaster e1d506e961
Fix codesign-xplat.yml to use the right API for setting custom build steps 2019-02-20 14:42:07 -08:00
Nate McMaster 85ae18c723
Make Visual Studio 2019 a prerequisite to building this repo (#7005)
Changes:

* Make Visual Studio 2019 a prerequisite for building this repo
* Update .sln files
* Update Windows SDK to 17134
* Update developer docs
* Disable ANCM tests
* Update to .NET Core SDK 3.0 Preview 2
* Use Microsoft.NET.Sdk.Razor as a package consistently accross the repo
* React to changes in metadata from Microsoft.NETCore.App
* React to changes in .NET Core SDK
* Attempt to workaround CodeCheck.ps1 failure which doesn't repro locally or on different agents. Possibly due to differences in the version of the PowerShell task?
* Remove dead YML file
* Rename usages of win7-{x64,x86} to win-{x64,x86}
* Update KoreBuild to 3.0.0-build-20190219.1
2019-02-20 09:53:53 -08:00
Nate McMaster 0ec25d3167
Create new 'runtime pack' nuget packages for Microsoft.AspNetCore.App (#7475)
* Create a new package  - Microsoft.AspNetCore.App.Runtime.${rid} - which contains crossgen-ed versions of shared framework assemblies. This will be used by the SDK to replace rid-split packages
* Add a task which can generate the .deps.json file for the shared framework. Unlike the existing task we have, this does not rely on consuming a .deps.json file generated by first running a restore on packages.
* Move the reference to xunit.runner.console into the normal targets and files for managing dependencies
* Produce binlogs during build
2019-02-14 07:25:13 -08:00
Sébastien Ros 519e6bbb7c Update benchmarks.yml (#7558) 2019-02-13 15:46:48 -08:00