diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml index 8bcde2552d..29e9664469 100644 --- a/.azure/pipelines/ci.yml +++ b/.azure/pipelines/ci.yml @@ -431,6 +431,10 @@ jobs: - bash: "./eng/scripts/install-nginx-mac.sh" displayName: Installing Nginx afterBuild: + - bash: ./build.sh --ci --pack --no-build --no-restore --no-build-deps "/bl:artifacts/log/packages.pack.binlog" + displayName: Pack Packages (for Template tests) + - bash: ./src/ProjectTemplates/build.sh --ci --pack --no-restore --no-build-deps "/bl:artifacts/log/template.pack.binlog" + displayName: Pack Templates (for Template tests) - bash: ./build.sh --no-build --ci --test -p:RunFlakyTests=true displayName: Run Flaky Tests continueOnError: true @@ -456,6 +460,10 @@ jobs: - bash: "echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p" displayName: Increase inotify limit afterBuild: + - bash: ./build.sh --ci --pack --no-build --no-restore --no-build-deps "/bl:artifacts/log/packages.pack.binlog" + displayName: Pack Packages (for Template tests) + - bash: ./src/ProjectTemplates/build.sh --ci --pack --no-restore --no-build-deps "/bl:artifacts/log/template.pack.binlog" + displayName: Pack Templates (for Template tests) - bash: ./build.sh --no-build --ci --test -p:RunFlakyTests=true displayName: Run Flaky Tests continueOnError: true diff --git a/src/ProjectTemplates/README.md b/src/ProjectTemplates/README.md index 59f1617100..ce53e760e3 100644 --- a/src/ProjectTemplates/README.md +++ b/src/ProjectTemplates/README.md @@ -15,8 +15,9 @@ Some projects in this repository (like SignalR Java Client) require JDK installa 1. Run `git submodule update --init --recursive` if you haven't already. 1. Run `git submodule update` to update submodules. 1. Run `build.cmd -all -pack` in the repository root to build all of the dependencies. -1. Run `build.cmd` in this directory will produce NuGet packages for each class of template in the artifacts directory. +1. Run `build.cmd -pack -NoRestore -NoBuilddeps` in this directory will produce NuGet packages for each class of template in the artifacts directory. 1. Because the templates build against the version of `Microsoft.AspNetCore.App` that was built during the previous step, it is NOT advised that you install templates created on your local machine via `dotnet new -i [nupkgPath]`. Instead, use the `Run-[Template]-Locally.ps1` scripts in the script folder. These scripts do `dotnet new -i` with your packages, but also apply a series of fixes and tweaks to the created template which keep the fact that you don't have a production `Microsoft.AspNetCore.App` from interfering. 1. The ASP.NET localhost development certificate must also be installed and trusted or else you'll get a test error "Certificate error: Navigation blocked". +1. Run `build.cmd -test -NoRestore -NoBuild -NoBuilddeps "/p:RunTemplateTests=true"` to run template tests. ** Note** Templating tests require Visual Studio unless a full build (CI) is performed. diff --git a/src/ProjectTemplates/build.sh b/src/ProjectTemplates/build.sh new file mode 100755 index 0000000000..7046bb98a0 --- /dev/null +++ b/src/ProjectTemplates/build.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -euo pipefail + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +repo_root="$DIR/../.." +"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "$@"