Commit Graph

90 Commits

Author SHA1 Message Date
Doug Bunting 7d9916d0f7
Merge branch 'release/2.2' => 'master' 2019-04-05 17:33:21 -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
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
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 fbaa3e8b77
Always kill processes and remove direct reference to component governance task (#7793) 2019-02-21 09:29:42 -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
Doug Bunting f280465275
Merge branch 'release/2.2' 2019-02-04 22:04:46 -08:00
Doug Bunting af463acc38
Merge branch 'release/2.1' into release/2.2 2019-02-04 20:53:34 -08:00
Doug Bunting f5ca141e9d
Kill processes after completing build and before publishing test results or artifacts (#7228)
- aspnet/AspNetCore-Internal#1735
- port aspnet/Extensions@e2bb8ac1a0 fix into this repo
  - change `default-build.yml` instead of `azure-pipelines.yml`
  - make a couple of changes to `KillProcesses.ps1` (which I'll take back to Extensions)
- remove `ci-official.yml`
2019-02-04 16:19:31 -08:00
Nate McMaster 4c4a1effcd
Only publish artifacts on successful builds and fix code-signing for the SiteExtension package (#7199) 2019-02-01 19:17:01 -08:00
Nate McMaster 7ee3399ce2
Fix code-signing for xplat packages and Windows installers (#7191) 2019-02-01 10:52:00 -08: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
Sébastien Ros 768e9052dd
Adding artifacts generation for forks (#6324) 2019-01-28 18:02:57 -08:00
Nate McMaster eef9f76759
Fix SignalR daily tests (#6960)
Ensure the TeamName variable is set. It's required for all internal builds.
2019-01-23 15:15:34 -08:00
Pavel Krymets 6cac028716
Switch IIS tests to Hosted queue (#6746) 2019-01-16 11:47:52 -08:00
Nate McMaster 089912cd1b
Switch queues used during Windows builds (#6667) 2019-01-14 10:07:12 -08:00
Nate McMaster b4f869b2ff
Switch agent queues used on Windows builds (#6627) 2019-01-11 16:23:13 -08:00
Nate McMaster a9132ad26c
Switch agent queues used during Windows builds 2019-01-11 15:16:57 -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
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 c3beb1f9b1
build.cmd/sh changes (#5958)
Update the build scripts to support building subfolders or subgroups of projects

* Add build scripts for ci
* Remove obsolete scripts
* Add flags like --test and --pack to control running just test or packaging
* Add flags like --managed and --native to control building sub-types of projects
* Remove KoreBuild bootstrapper flags
* Update to extensions 3.0.0-preview.18619.1 (needed to get a fix for aspnet/Extensions#815 to make this change work on MSBuild.exe)
2018-12-20 16:52:15 -08:00
BrennanConroy d570a71e9f
Get artifacts from Saucelabs run (#4474) 2018-12-07 09:27:12 -08:00
Nate McMaster 569a14ecb8
Merge branch 'release/2.1' into release/2.2 2018-12-06 17:09:03 -08:00
Nate McMaster b15c766d20
Create temporary PR validation which just compiles, without tests (#4475) 2018-12-06 12:03:32 -08:00
Ryan Brandenburg e785437288 Capture all trx files in PR validation (#4309) 2018-11-29 17:05:29 -08:00
Nate McMaster 0e12274a8e
Flatten the dependency graph of Microsoft.AspNetCore.App (#4061)
This changes the way Microsoft.AspNetCore.App works to follow patterns set by Microsoft.NETCore.App. Instead of being a metapackage with dozens of dependencies, this package has no dependencies. It uses RID-splitting to deliver standalone assets for self-contained deployments.

Changes:
* Implements RID-split packages for Microsoft.AspNetCore.App.
* Update shared fx deps.json generation to only include entries for the RID-specific metapackages
* Include platform-specific packages in publish output
* Remove all nuspec dependencies of Microsoft.AspNetCore.App and collect all references into the package.
2018-11-16 15:16:15 -08:00
Nate McMaster c1c7d711b6
Merge branch 'release/2.1' into release/2.2 2018-11-14 09:27:23 -08:00
Nate McMaster 1c8df01d09
Update PR validation to fix the FastCheck config and IIS tests 2018-11-09 14:09:09 -08:00
Nate McMaster 4f887e5cd4
Merge branch 'release/2.1' into release/2.2 2018-11-06 09:23:17 -08:00
Justin Kotalik 90b11de8f1
Get IISIntegration CI working (#3875) 2018-11-05 08:45:11 -08:00
Justin Kotalik dcece2090c
Remove IISIntegration submodule, add CI (#3867) 2018-11-02 14:34:31 -07:00