Skip to content

chore(deps-dev): bump the typescript group across 1 directory with 2 updates #347

chore(deps-dev): bump the typescript group across 1 directory with 2 updates

chore(deps-dev): bump the typescript group across 1 directory with 2 updates #347

Workflow file for this run

name: E2E
on:
pull_request:
branches: [main]
# Docs-only PRs don't affect the panel or e2e stack — skip the suite.
paths-ignore:
- 'docs/**'
- '**/*.md'
jobs:
e2e:
name: Home Assistant E2E
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout code
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
- name: Check for leaked RTSP secrets
run: scripts/check-rtsp-leak.sh
env:
RTSP_TEST_URL: ${{ secrets.RTSP_TEST_URL }}
- name: Use Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '22'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Install Playwright browser
run: npx playwright install --with-deps chromium
- name: Build Home Assistant panel
run: npm run build:ha:prod
- name: Start Home Assistant stack
run: npm run e2e:ha:up
env:
# Optional personal RTSP stream; compose substitutes it into the
# go2rtc container environment (see ha/docker-compose.yml). Empty
# when the secret is unset — the synthetic stream is unaffected.
RTSP_TEST_URL: ${{ secrets.RTSP_TEST_URL }}
- name: Run e2e tests
run: npm run e2e
- name: Dump Home Assistant logs on failure
if: failure()
# Through the script, not raw compose: the project name is derived from
# the checkout path, so a bare `docker compose` would address a
# different (empty) project and dump nothing.
run: npm run e2e:ha:logs
- name: Upload Playwright report on failure
if: failure()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: playwright-report
path: playwright-report/
retention-days: 7
- name: Stop Home Assistant stack
if: always()
run: npm run e2e:ha:down