Files
aliasvault/.github/workflows/e2e-tests-server.yml
Leendert de Borst b3946963c9 Merge branch 'main' into 1353-upgrade-from-net-9-to-net-10-admin-api-and-web-app-services
* main: (611 commits)
  Update bump-versions.sh
  Update Cargo.lock
  Update net.aliasvault.app.yml.template
  Bump tar
  Start 0.27.0-alpha development
  Update browser extension build scripts to always call rust core compile
  Update release notes
  Refactor EmailDomainField init flow to match browser extension
  Fix folder deletion in mobile app not refreshing parent screen
  Add 0.26.0 release notes
  New Crowdin updates (#1504)
  Tweak browser extension settings text alignment for longer translations (#1524)
  Add Italian language dictionaries to the identity generator (#1524)
  Update tests
  Add wait for debounce to browser extension tests
  Update playwright.config.ts
  Bump install.sh version to use self-documenting ISO8601 date
  Update e2e-tests-browser-extension.yml
  Update safari-xcode folder location
  Update fdroid scripts
  ...
2026-01-30 12:58:17 +01:00

125 lines
3.3 KiB
YAML

# Server E2E tests (Admin and Client/Blazor WASM)
name: E2E Tests - Server
on:
push:
branches: [ "main" ]
paths:
- 'apps/server/**'
- 'core/**'
- 'install.sh'
- '.github/workflows/e2e-tests-server.yml'
pull_request:
branches: [ "main" ]
paths:
- 'apps/server/**'
- 'core/**'
- 'install.sh'
- '.github/workflows/e2e-tests-server.yml'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
admin-tests:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x
- name: Install dependencies
working-directory: apps/server
run: dotnet workload install wasm-tools
- name: Build
working-directory: apps/server
run: dotnet build
- name: Start dev database
run: ./install.sh configure-dev-db start
- name: Ensure browsers are installed
working-directory: apps/server
run: pwsh Tests/AliasVault.E2ETests/bin/Debug/net10.0/playwright.ps1 install --with-deps
- name: Run AdminTests with retry
uses: nick-fields/retry@v3
with:
timeout_minutes: 60
max_attempts: 3
command: cd apps/server && dotnet test Tests/AliasVault.E2ETests --no-build --verbosity normal --filter "Category=AdminTests"
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: admin-test-results
path: TestResults-Admin.xml
client-tests:
timeout-minutes: 60
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
shard: [1, 2, 3, 4, 5]
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Setup Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@v2
with:
workspaces: core/rust
- name: Install wasm-pack
run: cargo install wasm-pack --locked
- name: Build core libraries
run: |
cd ./core
chmod +x build-and-distribute.sh
./build-and-distribute.sh --browser
- name: Install dependencies
working-directory: apps/server
run: dotnet workload install wasm-tools
- name: Build
working-directory: apps/server
run: dotnet build
- name: Start dev database
run: ./install.sh configure-dev-db start
- name: Ensure browsers are installed
working-directory: apps/server
run: pwsh Tests/AliasVault.E2ETests/bin/Debug/net10.0/playwright.ps1 install --with-deps
- name: Run ClientTests with retry (Shard ${{ matrix.shard }})
uses: nick-fields/retry@v3
with:
timeout_minutes: 60
max_attempts: 3
command: cd apps/server && dotnet test Tests/AliasVault.E2ETests --no-build --verbosity normal --filter "FullyQualifiedName~.E2ETests.Tests.Client.Shard${{ matrix.shard }}."