Remove Linux only Docker build for E2E tests (#14042)

* Remove Linux only Docker build for E2E tests

* Fix cmsVersion variable

* Remove custom build number step (already done by Nerdbank.GitVersioning)

* Add and use global.json to configure .NET SDK version

* Only publish tests build output

* Only include unit tests and integration build output (without reference assemblies)

* Added "pr: none" to nightly trigger (#15044)

* Only run SQL Server Acceptance Tests on release builds or when parameter is set

* Use SQLite in-memory database and configure database optimizations (#15461)

* Disable content version cleanup and server election

* Reference Umbraco.Tests.AcceptanceTest.UmbracoProject instead of copying files

* Suspend/disable scheduled publishing

* Ensure all Playwright results are copied to the artifact staging directory

* Update E2E SQL Server job and also run on Linux

* Fix building acceptance test project

* Fix building acceptance test project (suing PrivateAssets)

* Explicitly disable building project references in E2E tests and use pre-built output

* Include obj folder of acceptance test project in build artifacts

* Download build artifacts

* Re-add PrivateAssets

* Revert to copying C# files to E2E application

* Disable Integrated Security for SQL Server on Linux

* Update SQL Server on Linux connection string

* Disable encryption on SQL Server for Linux

* Update SQL Server on Linux steps

* Add Database to SQL Server connection string on Linux

* Update Integration Tests and use SQL Server 2022 Docker image

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
(cherry picked from commit 0e1ca76d6e)
This commit is contained in:
Ronald Barendse
2024-02-02 10:17:40 +01:00
committed by Jacob Overgaard
parent b5b9c13bad
commit 30c1baecd7
11 changed files with 437 additions and 242 deletions

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<!--
Keep this empty Directory.Build.props file to prevent inheriting from parent directories,
because the Windows E2E test that outputs a new Umbraco project into this directory otherwise won't build.
-->
</Project>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="local" value="./nupkg" />
<add key="nuget" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>

View File

@@ -1,51 +0,0 @@
############################################
## Build
############################################
FROM mcr.microsoft.com/dotnet/nightly/sdk:8.0.100-rc.1-jammy AS build
COPY nuget.config .
COPY nuget.config .
WORKDIR /nupkg
COPY nupkg .
WORKDIR /build
RUN dotnet new --install /nupkg/Umbraco.Templates.*.nupkg
RUN dotnet new umbraco --name AcceptanceTestProject --no-restore --output .
RUN dotnet restore --configfile /nuget.config
RUN dotnet build --configuration Release --no-restore
RUN dotnet publish --configuration Release --no-build --output /dist
############################################
## Run
############################################
FROM mcr.microsoft.com/dotnet/nightly/aspnet:8.0.0-rc.1-jammy AS run
WORKDIR /app
COPY --from=build dist .
# Enable console logging in Release mode
ENV Serilog__WriteTo__0__Name=Async
ENV Serilog__WriteTo__0__Args__configure__0__Name=Console
# Set unattended install settings
ENV ConnectionStrings__umbracoDbDSN_ProviderName="Microsoft.Data.Sqlite"
ENV ConnectionStrings__umbracoDbDSN="Data Source=|DataDirectory|/Umbraco.sqlite.db;Cache=Shared;Foreign Keys=True;Pooling=True"
ENV Umbraco__CMS__Unattended__InstallUnattended="true"
ENV Umbraco__CMS__Unattended__UnattendedUserName="Playwright Test"
ENV Umbraco__CMS__Unattended__UnattendedUserEmail="playwright@umbraco.com"
ENV Umbraco__CMS__Unattended__UnattendedUserPassword="UmbracoAcceptance123!"
# Custom Umbraco settings
ENV Umbraco__CMS__Global__VersionCheckPeriod="0"
ENV Umbraco__CMS__Global__UseHttps="true"
ENV Umbraco__CMS__HealthChecks__Notification__Enabled="false"
ENV Umbraco__CMS__KeepAlive__DisableKeepAliveTask="true"
# Set application URL
ENV ASPNETCORE_URLS="http://0.0.0.0:5000;https://0.0.0.0:5001"
CMD dotnet AcceptanceTestProject.dll