name: Component Fixture Tests on: push: branches: [main] pull_request: branches: - main - 'release/*' permissions: contents: read concurrency: group: component-fixture-tests-${{ github.event.pull_request.number || github.sha }} cancel-in-progress: true jobs: component-fixture-tests: name: Component Fixture Tests runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v6 - name: Setup Node.js uses: actions/setup-node@v6 with: node-version-file: .nvmrc - name: Install dependencies run: npm ci --ignore-scripts env: ELECTRON_SKIP_BINARY_DOWNLOAD: 1 PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Install build dependencies run: npm ci working-directory: build - name: Install rspack dependencies run: npm ci working-directory: build/rspack - name: Transpile source run: npm run transpile-client - name: Install Playwright test dependencies run: npm ci working-directory: test/componentFixtures/playwright - name: Install Playwright Chromium run: npx playwright install chromium working-directory: test/componentFixtures/playwright - name: Run Playwright tests run: npx playwright test working-directory: test/componentFixtures/playwright - name: Upload test results if: failure() uses: actions/upload-artifact@v7 with: name: playwright-test-results path: test/componentFixtures/playwright/test-results/