diff --git a/build/azure-pipelines.yml b/build/azure-pipelines.yml index c8e370d513..d5b02db6f2 100644 --- a/build/azure-pipelines.yml +++ b/build/azure-pipelines.yml @@ -415,10 +415,24 @@ stages: CONNECTIONSTRINGS__UMBRACODBDSN_PROVIDERNAME: Microsoft.Data.Sqlite strategy: matrix: - Linux: - vmImage: 'ubuntu-latest' - Windows: - vmImage: 'windows-latest' + LinuxPart1Of3: + vmImage: "ubuntu-latest" + testCommand: "npm run test -- --shard=1/3" + LinuxPart2Of3: + vmImage: "ubuntu-latest" + testCommand: "npm run test -- --shard=2/3" + LinuxPart3Of3: + vmImage: "ubuntu-latest" + testCommand: "npm run test -- --shard=3/3" + WindowsPart1Of3: + vmImage: "windows-latest" + testCommand: "npm run test -- --shard=1/3" + WindowsPart2Of3: + vmImage: "windows-latest" + testCommand: "npm run test -- --shard=2/3" + WindowsPart3Of3: + vmImage: "windows-latest" + testCommand: "npm run test -- --shard=3/3" pool: vmImage: $(vmImage) steps: @@ -501,7 +515,7 @@ stages: workingDirectory: tests/Umbraco.Tests.AcceptanceTest # Test - - pwsh: npm run test --ignore-certificate-errors + - pwsh: $(testCommand) displayName: Run Playwright tests continueOnError: true workingDirectory: tests/Umbraco.Tests.AcceptanceTest @@ -522,7 +536,7 @@ stages: # Copy artifacts - pwsh: | if (Test-Path tests/Umbraco.Tests.AcceptanceTest/results/*) { - Copy-Item tests/Umbraco.Tests.AcceptanceTest/results $(Build.ArtifactStagingDirectory) -Recurse + Copy-Item tests/Umbraco.Tests.AcceptanceTest/results/* $(Build.ArtifactStagingDirectory) -Recurse } displayName: Copy Playwright results condition: succeededOrFailed() @@ -533,8 +547,7 @@ stages: condition: succeededOrFailed() inputs: targetPath: $(Build.ArtifactStagingDirectory) - artifact: 'Acceptance Tests - $(Agent.JobName) - Attempt #$(System.JobAttempt)' - + artifact: "Acceptance Test Results - $(Agent.JobName) - Attempt #$(System.JobAttempt)" - job: displayName: E2E Tests (SQL Server) condition: or(eq(stageDependencies.Build.A.outputs['build.NBGV_PublicRelease'], 'True'), ${{parameters.sqlServerAcceptanceTests}}) @@ -544,12 +557,30 @@ stages: CONNECTIONSTRINGS__UMBRACODBDSN_PROVIDERNAME: Microsoft.Data.SqlClient strategy: matrix: - Linux: - vmImage: 'ubuntu-latest' + LinuxPart1Of3: + testCommand: "npm run testSqlite -- --shard=1/3" + vmImage: "ubuntu-latest" SA_PASSWORD: $(UMBRACO__CMS__UNATTENDED__UNATTENDEDUSERPASSWORD) - CONNECTIONSTRINGS__UMBRACODBDSN: 'Server=(local);Database=Umbraco;User Id=sa;Password=$(SA_PASSWORD);TrustServerCertificate=True' - Windows: - vmImage: 'windows-latest' + CONNECTIONSTRINGS__UMBRACODBDSN: "Server=(local);Database=Umbraco;User Id=sa;Password=$(SA_PASSWORD);TrustServerCertificate=True" + LinuxPart2Of3: + testCommand: "npm run testSqlite -- --shard=2/3" + vmImage: "ubuntu-latest" + SA_PASSWORD: $(UMBRACO__CMS__UNATTENDED__UNATTENDEDUSERPASSWORD) + CONNECTIONSTRINGS__UMBRACODBDSN: "Server=(local);Database=Umbraco;User Id=sa;Password=$(SA_PASSWORD);TrustServerCertificate=True" + LinuxPart3Of3: + testCommand: "npm run testSqlite -- --shard=3/3" + vmImage: "ubuntu-latest" + SA_PASSWORD: $(UMBRACO__CMS__UNATTENDED__UNATTENDEDUSERPASSWORD) + CONNECTIONSTRINGS__UMBRACODBDSN: "Server=(local);Database=Umbraco;User Id=sa;Password=$(SA_PASSWORD);TrustServerCertificate=True" + WindowsPart1Of3: + vmImage: "windows-latest" + testCommand: "npm run testSqlite -- --shard=1/3" + WindowsPart2Of3: + vmImage: "windows-latest" + testCommand: "npm run testSqlite -- --shard=2/3" + WindowsPart3Of3: + vmImage: "windows-latest" + testCommand: "npm run testSqlite -- --shard=3/3" pool: vmImage: $(vmImage) steps: @@ -640,7 +671,7 @@ stages: workingDirectory: tests/Umbraco.Tests.AcceptanceTest # Test - - pwsh: npm run test --ignore-certificate-errors + - pwsh: $(testCommand) displayName: Run Playwright tests continueOnError: true workingDirectory: tests/Umbraco.Tests.AcceptanceTest @@ -670,7 +701,7 @@ stages: # Copy artifacts - pwsh: | if (Test-Path tests/Umbraco.Tests.AcceptanceTest/results/*) { - Copy-Item tests/Umbraco.Tests.AcceptanceTest/results $(Build.ArtifactStagingDirectory) -Recurse + Copy-Item tests/Umbraco.Tests.AcceptanceTest/results/* $(Build.ArtifactStagingDirectory) -Recurse } displayName: Copy Playwright results condition: succeededOrFailed() @@ -681,7 +712,7 @@ stages: condition: succeededOrFailed() inputs: targetPath: $(Build.ArtifactStagingDirectory) - artifact: 'Acceptance Tests - $(Agent.JobName) - Attempt #$(System.JobAttempt)' + artifact: "Acceptance Test Results - $(Agent.JobName) - Attempt #$(System.JobAttempt)" ############################################### ## Release diff --git a/tests/Umbraco.Tests.AcceptanceTest/package.json b/tests/Umbraco.Tests.AcceptanceTest/package.json index 6dc84f51dc..39556f3aec 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/package.json +++ b/tests/Umbraco.Tests.AcceptanceTest/package.json @@ -6,6 +6,7 @@ "config": "node config.js", "ui": "npx playwright test --headed DefaultConfig", "test": "npx playwright test DefaultConfig", + "testSqlite": "npx playwright test DefaultConfig --grep-invert \"Users\"", "all": "npx playwright test", "createTest": "node createTest.js" },