name: Vite Plugin E2E on: merge_group: pull_request: permissions: contents: read pull-requests: read jobs: e2e-vite-plugin-test: name: ${{ format('Vite Plugin E2E ({0})', matrix.description) }} concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.os }} cancel-in-progress: ${{ github.head_ref != 'changeset-release/main' }} timeout-minutes: 60 strategy: fail-fast: false matrix: include: - os: macos-latest description: macOS - os: windows-latest description: Windows - os: ubuntu-latest description: Linux runs-on: ${{ matrix.os }} steps: - name: Checkout Repo uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: fetch-depth: 0 persist-credentials: false - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 id: changes with: filters: | everything_but_markdown: - '!**/*.md' - name: Check if remote tests should run id: check-remote uses: ./.github/actions/check-remote-tests - name: Install Dependencies if: steps.changes.outputs.everything_but_markdown == 'true' uses: ./.github/actions/install-dependencies with: turbo-api: ${{ secrets.TURBO_API }} turbo-team: ${{ secrets.TURBO_TEAM }} turbo-token: ${{ secrets.TURBO_TOKEN }} turbo-signature: ${{ secrets.TURBO_REMOTE_CACHE_SIGNATURE_KEY }} - name: Run Vite plugin E2E tests if: steps.changes.outputs.everything_but_markdown == 'true' run: pnpm test:e2e -F @cloudflare/vite-plugin --log-order=stream timeout-minutes: 20 env: NODE_DEBUG: "vite-plugin:test" # The remote-binding tests need to connect to Cloudflare CLOUDFLARE_API_TOKEN: ${{ steps.check-remote.outputs.run-remote == 'true' && secrets.TEST_CLOUDFLARE_API_TOKEN || '' }} CLOUDFLARE_ACCOUNT_ID: ${{ steps.check-remote.outputs.run-remote == 'true' && secrets.TEST_CLOUDFLARE_ACCOUNT_ID || '' }} NODE_OPTIONS: "--max_old_space_size=8192" CI_OS: ${{ matrix.os }} - name: Upload turbo logs if: always() uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: turbo-runs-${{ matrix.os }} path: .turbo/runs