mirror of
https://github.com/aljazceru/goose.git
synced 2026-01-01 21:44:26 +01:00
Added v2 playwright e2e tests and workflow action (#2379)
This commit is contained in:
78
.github/workflows/ui-v2.yml
vendored
Normal file
78
.github/workflows/ui-v2.yml
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
name: UI v2 CI
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'ui-v2/**'
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
paths:
|
||||
- 'ui-v2/**'
|
||||
branches:
|
||||
- main
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
ui-v2-checks:
|
||||
name: Lint and Test UI v2
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 'lts/*'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: ui-v2/package-lock.json
|
||||
|
||||
- name: Install Dependencies
|
||||
working-directory: ui-v2
|
||||
run: npm ci
|
||||
|
||||
- name: Run All Checks
|
||||
working-directory: ui-v2
|
||||
run: npm run check-all
|
||||
|
||||
- name: Run Unit Tests
|
||||
working-directory: ui-v2
|
||||
run: npm test
|
||||
|
||||
- name: Install Playwright Browsers
|
||||
working-directory: ui-v2
|
||||
run: npx playwright install --with-deps chromium
|
||||
|
||||
# - name: Configure Electron Sandbox
|
||||
# working-directory: ui-v2
|
||||
# run: |
|
||||
# sudo chown root:root node_modules/electron/dist/chrome-sandbox
|
||||
# sudo chmod 4755 node_modules/electron/dist/chrome-sandbox
|
||||
|
||||
- name: Run E2E Tests
|
||||
working-directory: ui-v2
|
||||
env:
|
||||
HEADLESS: true
|
||||
NODE_OPTIONS: "--loader ts-node/esm --max-old-space-size=4096"
|
||||
run: |
|
||||
# Increase system limits
|
||||
sudo sysctl -w vm.max_map_count=262144
|
||||
sudo sysctl -w fs.file-max=65535
|
||||
ulimit -n 65535
|
||||
|
||||
# Run tests with xvfb
|
||||
xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- npm run test:e2e:web:headless
|
||||
|
||||
# todo: fix electron tests not running in GH workflow
|
||||
# xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- npm run test:e2e:electron:headless
|
||||
|
||||
- name: Upload Test Results
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: test-results
|
||||
path: |
|
||||
ui-v2/playwright-report/
|
||||
ui-v2/test-results/
|
||||
retention-days: 30
|
||||
Reference in New Issue
Block a user