Move browser extension e2e tests to main e2e test action (#1404)

This commit is contained in:
Leendert de Borst
2025-12-10 18:08:06 +01:00
parent 0687dbcf00
commit dace2a43ae
2 changed files with 84 additions and 84 deletions

View File

@@ -64,87 +64,6 @@ jobs:
with:
browser: chrome
e2e-tests:
needs: build-shared-libraries
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.0.x
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: apps/browser-extension/package-lock.json
- name: Install .NET dependencies
working-directory: apps/server
run: dotnet workload install wasm-tools
- name: Build API server
working-directory: apps/server
run: dotnet build AliasVault.Api
- name: Start dev database
run: ./install.sh configure-dev-db start
- name: Start API server
working-directory: apps/server/AliasVault.Api
run: |
dotnet run --no-build &
# Wait for API to be ready
echo "Waiting for API to start..."
for i in {1..30}; do
if curl -s http://localhost:5092/v1/Auth/status > /dev/null 2>&1; then
echo "API is ready!"
break
fi
echo "Attempt $i: API not ready yet..."
sleep 2
done
env:
ConnectionStrings__AliasServerDbContext: "Host=localhost;Port=5433;Database=aliasdb_e2e_extension;Username=aliasvault;Password=password"
JWT_KEY: "12345678901234567890123456789012"
DATA_PROTECTION_CERT_PASS: "Development"
PUBLIC_REGISTRATION_ENABLED: "true"
ADMIN_PASSWORD_HASH: "AQAAAAIAAYagAAAAEKWfKfa2gh9Z72vjAlnNP1xlME7FsunRznzyrfqFte40FToufRwa3kX8wwDwnEXZag=="
ADMIN_PASSWORD_GENERATED: "2024-01-01T00:00:00Z"
- name: Install browser extension dependencies
run: npm ci
working-directory: apps/browser-extension
- name: Install Playwright browsers
run: npx playwright install chromium --with-deps
working-directory: apps/browser-extension
- name: Build and run E2E tests
run: xvfb-run --auto-servernum npm run test:e2e:build
working-directory: apps/browser-extension
env:
ALIASVAULT_API_URL: "http://localhost:5092"
- name: Upload Playwright report
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: apps/browser-extension/playwright-report/
retention-days: 30
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-test-results
path: apps/browser-extension/tests/test-results/
retention-days: 30
build-firefox-extension:
needs: build-shared-libraries
runs-on: ubuntu-latest

View File

@@ -89,7 +89,7 @@ jobs:
max_attempts: 3
command: cd apps/server && dotnet test Tests/AliasVault.E2ETests --no-build --verbosity normal --filter "FullyQualifiedName~.E2ETests.Tests.Client.Shard${{ matrix.shard }}."
browser-extension-tests:
browser-extension-dotnet-tests:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
@@ -103,7 +103,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
node-version: '20'
- name: Install dependencies
working-directory: apps/server
@@ -137,5 +137,86 @@ jobs:
if: always()
uses: actions/upload-artifact@v4
with:
name: extension-test-results
name: extension-dotnet-test-results
path: TestResults-Extension.xml
browser-extension-playwright-tests:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.0.x
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: apps/browser-extension/package-lock.json
- name: Install .NET dependencies
working-directory: apps/server
run: dotnet workload install wasm-tools
- name: Build API server
working-directory: apps/server
run: dotnet build AliasVault.Api
- name: Start dev database
run: ./install.sh configure-dev-db start
- name: Start API server
working-directory: apps/server/AliasVault.Api
run: |
dotnet run --no-build &
# Wait for API to be ready
echo "Waiting for API to start..."
for i in {1..30}; do
if curl -s http://localhost:5092/v1/Auth/status > /dev/null 2>&1; then
echo "API is ready!"
break
fi
echo "Attempt $i: API not ready yet..."
sleep 2
done
env:
ConnectionStrings__AliasServerDbContext: "Host=localhost;Port=5433;Database=aliasdb_e2e_extension;Username=aliasvault;Password=password"
JWT_KEY: "12345678901234567890123456789012"
DATA_PROTECTION_CERT_PASS: "Development"
PUBLIC_REGISTRATION_ENABLED: "true"
ADMIN_PASSWORD_HASH: "AQAAAAIAAYagAAAAEKWfKfa2gh9Z72vjAlnNP1xlME7FsunRznzyrfqFte40FToufRwa3kX8wwDwnEXZag=="
ADMIN_PASSWORD_GENERATED: "2024-01-01T00:00:00Z"
- name: Install browser extension dependencies
run: npm ci
working-directory: apps/browser-extension
- name: Install Playwright browsers
run: npx playwright install chromium --with-deps
working-directory: apps/browser-extension
- name: Build and run E2E tests
run: xvfb-run --auto-servernum npm run test:e2e:build
working-directory: apps/browser-extension
env:
ALIASVAULT_API_URL: "http://localhost:5092"
- name: Upload Playwright report
if: always()
uses: actions/upload-artifact@v4
with:
name: browser-extension-playwright-report
path: apps/browser-extension/playwright-report/
retention-days: 30
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: browser-extension-playwright-test-results
path: apps/browser-extension/tests/test-results/
retention-days: 30