name: Playwright E2E Tests on: push: branches: [main] pull_request: branches: [main] jobs: e2e-test: timeout-minutes: 60 runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: v22.11.x - name: Install dependencies run: | sudo apt-get update sudo apt-get --no-install-recommends install -y \ libglib2.0-0 libnss3 libdbus-1-3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libgtk-3-0 libasound2t64 \ xvfb npm ci --legacy-peer-deps sudo chown root /home/runner/work/bruno/bruno/node_modules/electron/dist/chrome-sandbox sudo chmod 4755 /home/runner/work/bruno/bruno/node_modules/electron/dist/chrome-sandbox - name: Build libraries run: | npm run build:graphql-docs npm run build:bruno-query npm run build:bruno-common npm run sandbox:bundle-libraries --workspace=packages/bruno-js npm run build:bruno-converters npm run build:bruno-requests - name: Run Playwright tests run: | xvfb-run npm run test:e2e - uses: actions/upload-artifact@v4 if: ${{ !cancelled() }} with: name: playwright-report path: playwright-report/ retention-days: 30