Commit Graph

148 Commits

Author SHA1 Message Date
Doug Bunting 6c941485fd
Remove tests from official builds (#23056)
* Remove tests from official builds
  - #22787

nit: _add_ dependency on Windows ARM64 build when publishing to the BAR
    - not a major problem because this particular build rarely if ever fails
    - the existence of the correct manifests is much more important

* Address nit: `Windows_64_build` -> `Windows_arm64_build`
2020-06-17 14:46:29 -07:00
Doug Bunting 416c78bc9e
Build native assets just once per job on CI (#22909)
- at best, was a performance drain
- at worst, broke builds entirely
2020-06-15 15:42:20 -07:00
Justin Kotalik e1fab3098b
No build native in site extension (#22738) 2020-06-09 21:05:32 -07:00
Matt Mitchell 7079762008
Disable validation steps (#22580)
These steps can be run as part of the nightly Validate-DotNet runs, as well as the Release-DotNet pipeline that is run to prep for validation+release
2020-06-08 09:00:13 -07:00
Matt Mitchell d8733c2a55
Build time changes (#22362)
* Build time changes
A few changes for build time
- Don't build tests with SkipTestBuild=true and use that for official
  build legs. This cuts 40%-50% off the msbuild invocations for build.
  The longest build leg drops by about 30 mins.
- Skip logging of some task parameters and their metadata.
  This reduces overall binlog size, which is a major contributor to
  build time.

Unfortunately, this does not mean we can yet turn binlogs back on. This
change can actually increase the overall binlog size due to logging of
more project started arguments. There is another optimization for this
in progress.

Co-authored-by: Doug Bunting <6431421+dougbu@users.noreply.github.com>
2020-06-03 07:14:38 -07:00
Brennan 7af5e5d25a
Move all quarantined tests to the aspnetcore-quarantined-tests pipeline (#22445) 2020-06-02 13:02:26 -07:00
Doug Bunting 14d6b6e286
Build primarily with `dotnet msbuild` (#22017)
* Make `dotnet msbuild` the default on Windows too
  - add step using desktop `msbuild` when native builds may be involved
    - `-All` (without `-NoBuildNative`), `-BuildNative` or `-BuildInstallers` run this step
    - but `-ForceCoreMsbuild` unconditionally skips this step

nits:
- add binary log for RepoTasks build if `$BinaryLog` (echoes the `dotnet msbuild` command)
- add blank lines between build steps

* Enable building managed projects depending on native assets
  - splitting native builds out confuses these projects
  - use `$(BuildNative)` less, only to control actual building (not bundling)
  - build both native platforms in one `msbuild` invocation

* Adjust generation scripts to explicitly choose the MSBuild engine
  - ensure native assets are included in GenerateReferenceAssemblies.ps1 build
  - clean up the global state that tools.ps1 corrupts

* Revert move to VS2019.Pre queues

This reverts part of commit b67d161e03
- was "[release/5.0-preview5] Update dependencies from dotnet/aspnetcore-tooling (#21710)"

* Revert "!temporary! Require `msbuild` from VS2019 16.6"
  - this reverts commit 58cf2304a6

* Reduce build duplication in pipelines
  - build native assets and repo tasks once per CI job
  - only cleanup framework references after packing managed projects

nits:
- wrap a few long lines
- remove extra `-forceCoreMsbuild` options in SiteExtensions' build.cmd

* Fix Helix jobs
  - restore.cmd doesn't work well with `-projects`; script unconditionally adds `-all`

* !fixup! Reduce duplications further
  - missed a couple of places `-noBuildRepoTasks` helps

* Cleanup: Remove a few dangling binary logs

* !fixup! Correct typos in generation scripts

* !fixup! Another typo in the generation scripts
2020-05-29 19:02:03 -07:00
John Luo 68fea5b9c2 Remove files that should stay in aspnetcore-tooling
Also address some lingering feedback
2020-05-27 16:05:14 -07:00
John Luo 50d914f1af Merge branch 'master' into johluo/tooling-consolidation-fixup 2020-05-26 15:02:12 -07:00
John Luo 50f3a16571 aspnetcore-tooling migration fixups 2020-05-26 12:31:49 -07:00
Hao Kung 5eb70d484d
[Helix] Run required queues on all builds, not just PR (#22200) 2020-05-25 19:00:10 +00:00
Hao Kung a806ae62c3
Add helix-matrix.yml and windows arm 64 helix queue (#22002) 2020-05-23 17:08:18 -07:00
Doug Bunting 54e282003b
Avoid changing global state in CI runs II (#21643)
* Avoid changing global state in CI runs II
  - move `dotnet` tools into `$PWD/.dotnet/tools/`
    - add `dotnet` tools to `$env:PATH`
  - install `jq` in `$PWD/.tools/`
  - install `nginx` in `$PWD/.tools/nginx/`

nits:
- remove an extra (incorrect) `$env:JAVA_HOME` setting
  - build.ps1 finds a local JDK and sets this variable (and `$env:PATH`) properly
- avoid `'$(SELENIUMPROCESSTRACKINGFOLDER)' == '\artifacts\tmp\selenium\'`
  - `$(BuildDirectory)` was normally the empty string (w/o fix)
  - use `$(BuildDirectory)` a bit more

* Add files. disable artifact / test results publications to avoid warnings on CI
  - artifacts/log is often empty when binary logs are disabled
  - no tests create *.trx files
    - don't have Java test results either
  - only test jobs need test results published
2020-05-22 13:56:47 -07:00
dotnet-maestro[bot] d5849f3534
[master] Update dependencies from dotnet/arcade dotnet/aspnetcore-tooling (#21630)
* Update dependencies from https://github.com/dotnet/arcade build 20200511.9
- Microsoft.DotNet.Arcade.Sdk: 5.0.0-beta.20228.4 => 5.0.0-beta.20261.9
- Microsoft.DotNet.GenAPI: 5.0.0-beta.20228.4 => 5.0.0-beta.20261.9
- Microsoft.DotNet.Helix.Sdk: 5.0.0-beta.20228.4 => 5.0.0-beta.20261.9

* Update dependencies from https://github.com/dotnet/aspnetcore-tooling build 20200514.6

Microsoft.AspNetCore.Mvc.Razor.Extensions , Microsoft.AspNetCore.Razor.Language , Microsoft.CodeAnalysis.Razor , Microsoft.NET.Sdk.Razor
 From Version 5.0.0-preview.5.20261.4 -> To Version 5.0.0-preview.6.20264.6

* Pre-emptively take -nobl change

* Disable binlogs in CI

* Fix build.sh to know about -nobl

* Align build.ps1|sh with latest Arcade parameters
- do not enable binary logs by default in CI builds
- leave `-binaryLog` and `-excludeCIBinaryLog` handling to eng/common/tools.ps1|sh
  - was unnecessary since `-bl /bl:{some name}` worked fine, ignoring OOMs

nit: document `-excludeCIBinarylog` a bit more

* Do not pass unknown options into CodeCheck.ps1

* Pass `-ci -nobl` into remaining CI build jobs

* Switch default TFM to `net5.0`

* Update missing project templates tfms

* Add more `-ci -nobl`
- needed because _all_ builds in the pipeline are implicitly CI builds
  - default-build.yml adds `-ci` when script wasn't explicit

* Default templates to net5.0

* PR feedback

* Update TFMs in explicit .nuspec files

* Update TFMs in test projects

* Update TFMs in test C# code

* Update TFMs in infrastructure files

* Future-proof a check for `net5.0` or later
- avoid comparisons involving `$(TargetFramework)` in .targets files
  - fine to compare it with `''` or `$(DefaultNetCoreTargetFramework)`

* !fixup! Undo a couple of earlier fixes
- remove a duplicate `$()` setting
- correct the one remaining versioned `#if` define
  - did not make it `#if NETCOREAPP` because benchmarks test numerous .NET Core TFMs

* Disable binary logs in CodeCheck.ps1

* Specify `-ci -nobl` just once when using `parameters.buildArgs`

* Restore `$binaryLog` default logic

Co-authored-by: Doug Bunting <6431421+dougbu@users.noreply.github.com>
Co-authored-by: Will Godbe <wigodbe@microsoft.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2020-05-15 00:17:02 +00:00
Doug Bunting 307350e238
Avoid changing global state in CI runs (#21602)
- set `$env:DOTNET_CLI_HOME` because we need to install global tools in this repo
- without this, we see `dotnet-serve` installation failures on unclean machines
2020-05-07 19:20:02 -07:00
William Godbe 98d5b1bbfd
Move SDL validation to ringed release (#21545)
* Move SDL validation to ringed release

* Remove unneeded stuff

* Add back variables

* fixup

* Add missing param
2020-05-07 12:09:17 -07:00
Doug Bunting 54722a52b6
A quick collection of quick fixes (#20993)
* Quick fix: Simplify devBuilds.yml
  - remove an excess build step

* Quick fix: Move `SetupNugetSources` script invocations above `parameters.beforeBuild`
  - ensure NuGet.config is ready for all internal builds
  - remove now-duplicate `SetupNugetSources` invocations wherever default-build.yml is used

* Quick fix: Clean up SiteExtensions/build.cmd
  - quote all rooted paths
  - check `%ERRORLEVEL%` after every `CALL`
  - nits:
    - add a few more `ECHO` commands
    - wrap long lines

* Quick fix: Ensure `$(BuildNative)` is always set correctly
  - fix problems using `-all` or `/p:BuildAllProjects=true` without `-buildNative`
    - ensure `$(BuildNative)` is `false` where it's not supported
  - move some duplicated settings into eng/Common.props and `<Import />` the new file
  - remove now-duplicated parts of conditions using `$(BuildNative)`

* Quick fix: Consistently use `--build-*`
  - avoid `/p:Build*`  on the command line (except with eng/scripts/ci-source-build.sh)
  - nits:
    - remove now-useless `-buildNative` with `-all`
    - expand and correct a couple of related comments and messages

* Quick fix: Support `-all` together with `-projects`
  - remove need to specify `/p:BuildAllProjects=true`
  - nit: simplify some Boolean logic
2020-04-25 18:39:19 -07:00
Brennan 6e9bc21f3e
Use different machines for linux arm64 (#21099) 2020-04-22 13:32:07 -07:00
Chris Ross aa84b45cb2 Get off the hosted ubuntu linux queue due to disk space limitations 2020-04-17 13:46:10 -07:00
N. Taylor Mullen 51f69a6bbb
Use different Ubuntu pools for Ubuntu tests to avoid disk space issues. (#20742)
- Use different Ubuntu pools for Ubuntu tests to avoid disk space issues.
  - Updated the `default-build.yml` to have a new parameter specific to Ubuntu listed `useHostedUbuntu`. If we feel the need to expand the parameters usage outside of the Ubuntu configuration we can always rename to `useHosted`. Also didn't want to touch the `isTestingJob` because I wasn't sure of hte implications.
  - Updated the Ubuntu test job to turn off hosted pools.

Fixes https://github.com/dotnet/aspnetcore-internal/issues/3574

- Hmm, are `queue` names case-sensitive?
- Correct `useHostedUbuntu: false` placement
- Correct placement of `useHostedUbuntu: true` default
- Try adding `--without-http_rewrite_module` to nginx configuration
  - also add `set -euo pipefail` to the script for fast failure

Co-authored-by: Doug Bunting <6431421+dougbu@users.noreply.github.com>
2020-04-10 23:09:06 -07:00
Pranav K 9cab3e2602
Turn off SDL validation (#20691)
Based on the discussion here: https://github.com/dotnet/arcade/issues/5219
Re-enabling tracked by https://github.com/dotnet/aspnetcore/issues/20690
2020-04-10 12:31:26 -07:00
Doug Bunting 28f9139cb6
Merge branch 'master' into merge/release/5.0-preview3-to-master 2020-04-06 16:32:51 -07:00
Doug Bunting d6821faebd
[5.0-preview3] Remove Code_check job from publish-build-assets.yml `dependsOn` (#20559)
- re-enable the "Build SiteExtension" build step!
- nit: remove redundant conditions for easier reading
2020-04-05 15:29:17 -07:00
Kevin Pilch c56aa320c3
Merge pull request #20547 from dotnet-maestro-bot/merge/release/3.1-to-master
[automated] Merge branch 'release/3.1' => 'master'
2020-04-05 09:23:16 -07:00
Doug Bunting 27aa26ef4b [release/3.1] Don't run Code Check in official builds 2020-04-04 20:18:43 -07:00
Doug Bunting ffa52140db [release/5.0-preview3] Don't run Code Check in official builds 2020-04-04 20:18:03 -07:00
Ryan Nowak 5f8bb71608
Merge pull request #20456 from dotnet-maestro-bot/merge/release/3.1-to-master
[automated] Merge branch 'release/3.1' => 'master'
2020-04-02 11:18:00 -07:00
John Luo 0681c36925
Nit: update azdo job name for macOS (#20330) 2020-04-01 16:32:19 -07:00
William Godbe 2d6827a678
Always generate checksums as last part of publish job (#20367)
* Always generate checksums as last part of publish job

* Initialize props correctly

* Fix wildcard

* Import Arcade SDK

* Add NoWarn MSB4011

* Make import conditional on GenerateChecksums

* Select specific files to checksum

* Respond to feedback

* AfterTargets -> BeforeTargets
2020-04-01 16:25:37 -07:00
Doug Bunting 5ed5c1c46b
Update hosted (AzDO) and BYOC (dnceng) agents used in our builds
- dotnet/aspnetcore-internal#3540
- nit: Consistently use `in` / `notin` with `Build.Reason`
  - YAML was inconsistent and this aligns w/ the Arcade code
2020-03-25 11:14:18 -07:00
Doug Bunting f93480a45b Re-enable signing validation again
- part of 4ba64f5470 was either merged incorrectly from 'release/3.1' or overridden later
2020-03-24 13:38:03 -07:00
John Luo 6912dda560
Add gRPC interop tests (again) (#20069)
* Revert "Revert "Add gRPC interop tests (#17040)" (#20047)"

This reverts commit 236dcd9fbe.

* Fix daily and quarantine Helix runs

* Cleanup
2020-03-23 13:29:50 -07:00
Kevin Pilch 236dcd9fbe
Revert "Add gRPC interop tests (#17040)" (#20047)
This reverts commit 8afb78fb95.
2020-03-21 06:04:28 +00:00
James Newton-King 8afb78fb95
Add gRPC interop tests (#17040)
* WIP add interop tests

* Clean up

* Move test project into build infrastructure

* Clean up

* Remove hardcoded paths

* Clean up

* Fix build

* Add copyright notices

* Update azure template

* Fix build

* Fix build?

* Fix build?

* Add gRPC interop tests to CI

- Convert to using references managed by build infrastructure
- Use produced AspNetCore.App shared framework
- Save server logs
- Dynamically bind to ports
- Ensure InteropWebsite is built in the same configuration as the test project

* Cleanup

* Rebase fix

* Include tests assets in build directory for Helix

* Incorporate changes in ProcessEx

* Include Grpc test in regular build

* Fixup

* Test

* exe doesn't always exist

* Capture logs on helix

* Maybe this will work

* There are two application started messages

* Derp

* Cleanup

* Update directory

* Add interop tests to more pipelines

* mkdir

Co-authored-by: John Luo <johluo@microsoft.com>
2020-03-20 19:32:45 -07:00
Doug Bunting 0bb20cc3c1
Merge remote-tracking branch 'origin/master' into dougbu/master/newer.agents.3540
- fixup one more agent request
- nit: Consistently use `in` / `notin` with `Build.Reason`
  - YAML was inconsistent and this aligns w/ the Arcade code
2020-03-06 19:02:06 -08:00
John Luo 9f56862320
Build aspnetcore for win-arm64 (#19317)
* Build for win-arm64

* Missed file

* Disable Selenium tests on arm64

* Include installers in the uploaded artifacts
2020-03-06 14:47:29 -08:00
Hao Kung 8cba1cbb23
Skip arm64 queues on internal builds (#19620) 2020-03-05 23:19:21 -08:00
Brennan 56fb4b4d2f
Rename Flaky attribute (#19469) 2020-03-04 08:10:18 -08:00
Hao Kung 4498058343
[Helix] Shared framework support + Templates tests (#19177) 2020-02-26 12:55:41 -08:00
Brennan 3d178227da
Change SiteExtension reference (#19218)
* Change SiteExtension reference
* disable
2020-02-21 09:25:20 -08:00
Doug Bunting c8bcb96d59
Revert location change for `_UseHelixOpenQueues` variable
nit: Remove extra `if`
2020-02-20 11:23:44 -08:00
Doug Bunting c2ee4ae820
Re-enable source build job
- change ref/ projects to build only the default TFM during source builds
  - avoid errors restoring packages like Microsoft.BCL.AsyncInterfaces
  - may also speed up source builds slightly
2020-02-19 22:46:22 -08:00
Brennan Conroy e721923b67 Fix targets file 2020-02-19 18:15:59 -08:00
Brennan Conroy 2d066dcd3e Apply some fixes 2020-02-19 14:18:29 -08:00
Hao Kung 607a6b4f8a
Merge branch 'master' into halter73/mega-merge 2020-02-18 16:51:15 -08:00
Hao Kung 853d8f02e7
Use dotnet-helixapi-access token for internal helix builds 2020-02-18 15:51:13 -08:00
Stephen Halter 88073f86ff Merge branch 'release/3.1' into master 2020-02-18 13:46:51 -08:00
Ryan Brandenburg 211bc40384
Revert flaky tests that seems to have been fixed (#19065) 2020-02-18 09:26:51 -08:00
Ryan Brandenburg b49dd9869e
Include the ExitCode in the error message (#17663)
Include the ExitCode in the error message
2020-01-31 14:00:57 -08:00
Hao Kung 524bba8ff4
Start skipping helix ready tests on azdo runs (#17109) 2020-01-23 15:58:47 -08:00