Commit Graph

49 Commits

Author SHA1 Message Date
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
Doug Bunting f46d5b3af2
Add retries to InstallVisualStudio.ps1 script (#9300)
- short-term attempt to reduce CI problems in this area; see dotnet/core-eng#5760
- add `-ErrorAction Continue` to the `Start-Process` command line to enable retries

nits & debugging:
- display and interpret any exit code from the VS installer
- display VS installation logs
- remove unnecessary `[CmdletBinding]` attribute
- spell out `-ForegroundColor Red`
- add "Error: " prefix to error messages
- remove unnecessary empty strings passed to `Write-Host`
2019-04-15 10:52:15 -07:00
Nate McMaster fdca90b7f6
Ensure InstallVisualStudio.ps1 doesn't mix RTM and preview versions if both are installed (#9260) 2019-04-10 14:55:58 -07:00
John Luo 67e08728ca
Remove client from gRPC templates (#9078) 2019-04-07 22:42:38 -07:00
Nate McMaster 518b879895
Install VS 2019 RTM, not Preview, from scripts (#9057) 2019-04-04 05:18:51 -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 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
Ryan Brandenburg 0c4b3fbd6d
Improve local development of Templates (#8196) 2019-03-21 16:29:45 -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
Javier Calvarro Nelson 3189146b4e
Fix typo in killprocesses.ps1
Fixes variable reference typo.
2019-03-16 19:15:47 +01:00
Javier Calvarro Nelson adf978a579 Kills java instances for Azure pipelines (#8568)
* Kills java instances for Azure pipelines

* Improved version

* Update output

* Add missing quote
2019-03-15 16:26:21 -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
Pavel Krymets 783131a750
Re-enable full IIS tests on Windows.10.Amd64.EnterpriseRS3.ASPNET.Open (#7959) 2019-02-27 11:03:41 -08:00
Pavel Krymets 3b95ef0b95
Ignore error output from git diff in code check (#7923) 2019-02-25 12:55:54 -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
Pavel Krymets 78bc2a10b9
Reenable IISExpress on helix (#7586) 2019-02-25 09:05:19 -08:00
John Luo 2fd9e40b58 Merge branch 'release/3.0-preview3' 2019-02-21 16:01:22 -08:00
John Luo 4c0b114b12
Add gRPC templates (#7561) 2019-02-21 15:12:13 -08:00
Pavel Krymets 9355c7c1a5
Add reference assemblies support (#7764) 2019-02-21 14:33:35 -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
Nate McMaster 394ef0ab93
Add missing entry to Version.Details.xml (#7643)
Changes:
* add entry for Mono.WebAssembly.Interop to Version.Details.xml
* Update code check to ensure all veriables in the 'automated' section are accounted for in Version.Details.xml
2019-02-15 17:00:06 -08:00
Nate McMaster 68f7e3ad7c
Fix discrepancy between Version.Details.xml and Versions.props (#7314)
* Fix discrepancy between Version.Details.xml and Versions.props
* Add step to CodeCheck to ensure Version.Details.xml and Versions.props match
2019-02-06 12:07:59 -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 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
Nate McMaster 4eca8f02e1
Add a script to search the project reference graph and add all to a .sln file (#7066) 2019-01-28 10:10:13 -08:00
Chris Ross 2b7c26a123
Dynamically install NGinx Internal/#1525 (#6963) 2019-01-25 14:32:32 -08:00
John Luo 17b6ce8bd6 Merge branch 'release/2.2' 2019-01-15 18:49:54 -08:00
John Luo 90a9fa7aac Merge branch 'release/2.1' into release/2.2 2019-01-14 12:57:34 -08:00
Nate McMaster 3d5deb1220
Merge branch 'release/2.2' 2019-01-14 11:14:58 -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 4c8db32b1c
Don't restore npmproj files in parallel (#6560)
NPM does not handle this well, so only run one NPM command at a time
2019-01-10 08:21:26 -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 edfb2ab8ab
Merge branch 'release/2.2' 2019-01-05 00:34:13 -08: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
Justin Kotalik 2b7a3a222a Build Windows Installers using the repo's main build script and repotasks (#6139)
Follow-up to #6078

This should solve race conditions in restoring .wixproj files.

Co-authored-by: Nate McMaster <natemcmaster@users.noreply.github.com>
Co-authored-by: Justin Kotalik <jkotalik@users.noreply.github.com>
2018-12-31 10:54:15 -08:00
Nate McMaster 4eb495c74f
Improve InstallVisualStudio.ps1 (#6089)
* Support installing Community, Professional, or Enterprise versions of VS.
* Remove messages about build agents.
* Add examples to docs and the help output.
2018-12-21 14:55:31 -08:00
Nate McMaster 92b40a4dbc
Restore accidental deletion of common.psm1 2018-12-20 17:34:06 -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