mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-09 01:16:15 -08:00
Adds the GitHub Releases desktop updater with release notes, startup notification, packaging metadata, tests, and CI fixes for Electron E2E.
115 lines
3.4 KiB
YAML
115 lines
3.4 KiB
YAML
name: 'Cross-Platform E2E Tests'
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
electron-e2e-tests:
|
|
name: Electron E2E on ${{ matrix.os }}
|
|
runs-on: ${{ matrix.os }}
|
|
timeout-minutes: 45
|
|
env:
|
|
IPTVNATOR_ALLOW_PRIVATE_NETWORK_URLS: '1'
|
|
NX_SKIP_NX_CACHE: true
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '22'
|
|
cache: 'pnpm'
|
|
|
|
- name: Install Dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Build Backend
|
|
run: pnpm nx build electron-backend
|
|
|
|
- name: Install Playwright Browsers
|
|
run: pnpm exec playwright install --with-deps
|
|
|
|
- name: Run Electron E2E Tests (Linux)
|
|
if: runner.os == 'Linux'
|
|
run: xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" pnpm nx run electron-backend-e2e:e2e
|
|
env:
|
|
CI: true
|
|
|
|
- name: Run Electron E2E Tests (Windows/Mac)
|
|
if: runner.os != 'Linux'
|
|
run: pnpm nx run electron-backend-e2e:e2e
|
|
env:
|
|
CI: true
|
|
|
|
- name: Summarize Electron E2E semantic coverage
|
|
if: always()
|
|
run: pnpm run coverage:e2e:summary -- --project=electron-backend-e2e
|
|
|
|
- name: Upload Electron Test Results
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: playwright-report-electron-${{ matrix.os }}
|
|
path: |
|
|
dist/playwright-report/electron-backend-e2e/
|
|
dist/test-results/electron-backend-e2e/
|
|
coverage/e2e/
|
|
retention-days: 7
|
|
|
|
web-e2e-tests:
|
|
name: Web E2E on Ubuntu Chromium
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
NX_SKIP_NX_CACHE: true
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '22'
|
|
cache: 'pnpm'
|
|
|
|
- name: Install Dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Install Chromium
|
|
run: pnpm exec playwright install --with-deps chromium
|
|
|
|
- name: Run Web E2E Tests
|
|
run: pnpm nx run web-e2e:e2e -- --project=chromium
|
|
env:
|
|
CI: true
|
|
|
|
- name: Summarize Web E2E semantic coverage
|
|
if: always()
|
|
run: pnpm run coverage:e2e:summary -- --project=web-e2e
|
|
|
|
- name: Upload Web Test Results
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: playwright-report-web-ubuntu
|
|
path: |
|
|
dist/playwright-report/web-e2e/
|
|
dist/test-results/web-e2e/
|
|
coverage/e2e/
|
|
retention-days: 7
|