name: E2E Playwright - Studio Panel on: workflow_dispatch: {} push: paths: - 'packages/studio-panel/**' jobs: playwright-e2e: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Use Node.js 20 uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - name: Install dependencies for studio-panel working-directory: packages/studio-panel run: | npm ci - name: Install Playwright browsers working-directory: packages/studio-panel run: | npx playwright install --with-deps - name: Run Playwright E2E script working-directory: packages/studio-panel env: # override the URLs here if you want to use different targets in CI BROADCAST_URL: ${{ secrets.BROADCAST_URL }} STUDIO_ORIGIN: ${{ secrets.STUDIO_ORIGIN }} run: | node --experimental-vm-modules scripts/playwright_postmessage_test.mjs - name: Upload Playwright debug log if: always() uses: actions/upload-artifact@v4 with: name: playwright-debug-log path: | /tmp/playwright_debug.log /tmp/playwright_run_output.log /tmp/sim_postmessage_simulator.png /tmp/sim_postmessage_studio.png - name: Print small summary if: always() working-directory: packages/studio-panel run: | echo "Artifacts uploaded: /tmp/playwright_debug.log, /tmp/playwright_run_output.log, screenshots" ls -lh /tmp/playwright_debug.log /tmp/playwright_run_output.log || true ls -lh /tmp/sim_postmessage_simulator.png /tmp/sim_postmessage_studio.png || true