name: Playwright Tests on: push: branches: [main, master] pull_request: branches: [main, master] defaults: run: working-directory: ./playwright-tests concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: test: if: github.event.pull_request.draft == false timeout-minutes: 60 runs-on: ubuntu-latest steps: # Do our best to cache the toolchain and node install steps - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 16 - name: Install Rust uses: dtolnay/rust-toolchain@master with: toolchain: stable targets: x86_64-unknown-linux-gnu,wasm32-unknown-unknown - uses: Swatinem/rust-cache@v2 - name: Install dependencies run: npm ci - name: Install Playwright run: npm install -D @playwright/test - name: Install Playwright Browsers run: npx playwright install --with-deps # Cache the CLI by using cargo run internally # - name: Install Dioxus CLI # uses: actions-rs/cargo@v1 # with: # command: install # args: --path packages/cli - name: Run Playwright tests run: npx playwright test - uses: actions/upload-artifact@v3 if: always() with: name: playwright-report path: playwright-report/ retention-days: 30