fix: handle missing isIncluded in Rolldown (Vite 8) module info #1784
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Playground E2E Tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - "docs/**" | |
| - ".notes/**" | |
| - "*.md" | |
| - "src/**/*.test.*" | |
| - "playground/community/**" | |
| pull_request_target: | |
| types: [opened, synchronize, reopened] | |
| paths-ignore: | |
| - "docs/**" | |
| - ".notes/**" | |
| - "*.md" | |
| - "src/**/*.test.*" | |
| - "playground/community/**" | |
| workflow_dispatch: | |
| inputs: | |
| ref: | |
| description: "The branch, tag or SHA to checkout. e.g. `refs/pull/123/head`" | |
| required: false | |
| os: | |
| description: "OS to run on (e.g., ubuntu-latest, macos-latest)" | |
| required: true | |
| type: choice | |
| default: "all" | |
| options: | |
| - all | |
| - ubuntu-latest | |
| - macos-latest | |
| - windows-latest | |
| package-manager: | |
| description: "Package manager to use (e.g., pnpm, npm)" | |
| required: true | |
| type: choice | |
| default: "all" | |
| options: | |
| - all | |
| - pnpm | |
| - npm | |
| - yarn | |
| - yarn-classic | |
| workflow_call: | |
| inputs: | |
| run_full_matrix: | |
| description: "Run the full test matrix" | |
| required: false | |
| type: boolean | |
| default: false | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event_name == 'workflow_dispatch' && github.run_id || github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: ${{ github.event_name != 'workflow_dispatch' }} | |
| env: | |
| CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | |
| CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
| jobs: | |
| setup-matrix: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| matrix: ${{ steps.set-matrix.outputs.matrix }} | |
| steps: | |
| - id: set-matrix | |
| run: | | |
| if [[ "${{ inputs.run_full_matrix }}" == "true" ]]; then | |
| echo 'matrix={"include":[{"os":"ubuntu-latest","package-manager":"pnpm"},{"os":"ubuntu-latest","package-manager":"npm"},{"os":"ubuntu-latest","package-manager":"yarn"},{"os":"ubuntu-latest","package-manager":"yarn-classic"},{"os":"macos-latest","package-manager":"pnpm"},{"os":"macos-latest","package-manager":"npm"},{"os":"macos-latest","package-manager":"yarn"},{"os":"macos-latest","package-manager":"yarn-classic"},{"os":"windows-latest","package-manager":"pnpm"},{"os":"windows-latest","package-manager":"npm"},{"os":"windows-latest","package-manager":"yarn"},{"os":"windows-latest","package-manager":"yarn-classic"}]}' >> $GITHUB_OUTPUT | |
| elif [[ "${{ github.event_name }}" == "pull_request" || "${{ github.event_name }}" == "push" ]]; then | |
| echo 'matrix={"include":[{"os":"ubuntu-latest","package-manager":"pnpm"}]}' >> $GITHUB_OUTPUT | |
| elif [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then | |
| OS_INPUT=${{ github.event.inputs.os }} | |
| PM_INPUT=${{ github.event.inputs.package-manager }} | |
| [ "$OS_INPUT" == "all" ] && OS_LIST='ubuntu-latest macos-latest windows-latest' || OS_LIST=$OS_INPUT | |
| [ "$PM_INPUT" == "all" ] && PM_LIST='pnpm npm yarn yarn-classic' || PM_LIST=$PM_INPUT | |
| JSON_ARRAY="[]" | |
| for o in $OS_LIST; do | |
| for p in $PM_LIST; do | |
| JSON_ARRAY=$(echo "$JSON_ARRAY" | jq -c ". + [{\"os\":\"$o\",\"package-manager\":\"$p\"}]") | |
| done | |
| done | |
| echo "matrix={\"include\":${JSON_ARRAY}}" >> $GITHUB_OUTPUT | |
| else | |
| echo 'matrix={"include":[{"os":"ubuntu-latest","package-manager":"npm"}]}' >> $GITHUB_OUTPUT | |
| fi | |
| playground-e2e-dev: | |
| needs: setup-matrix | |
| name: Playground E2E Tests (Dev) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: ${{ fromJson(needs.setup-matrix.outputs.matrix) }} | |
| timeout-minutes: 60 | |
| env: | |
| DEBUG: rwsdk:e2e:* | |
| MAX_RETRIES: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '10' || '1' }} | |
| RWSDK_SETUP_PLAYGROUND_ENV_TIMEOUT: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '1800000' || '' }} # 30 mins | |
| RWSDK_PUPPETEER_TIMEOUT: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '300000' || '' }} # 5 mins | |
| RWSDK_HYDRATION_TIMEOUT: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '10000' || '' }} # 10s | |
| RWSDK_DEV_SERVER_TIMEOUT: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '900000' || '' }} # 15 mins | |
| RWSDK_TEST_MAX_RETRIES: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '12' || '' }} | |
| RWSDK_TEST_MAX_RETRIES_PER_CODE: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '20' || '' }} | |
| RWSDK_SKIP_DEPLOY: "1" | |
| RWSDK_SEQUENTIAL: "1" | |
| # context(justinvdm, 2025-09-20): | |
| # Only run this job for PRs from the same repository and pushes to main | |
| # For security, GH won't expose secrets for fork PRs | |
| if: | | |
| github.event_name == 'push' || | |
| github.event_name == 'schedule' || | |
| github.event_name == 'workflow_dispatch' || | |
| github.event_name == 'pull_request_target' | |
| steps: | |
| - name: Require approval for external contributors | |
| if: | | |
| github.event_name == 'pull_request_target' && | |
| github.event.pull_request.user.login != 'renovate[bot]' && | |
| github.event.pull_request.author_association != 'OWNER' && | |
| github.event.pull_request.author_association != 'MEMBER' && | |
| github.event.pull_request.author_association != 'COLLABORATOR' && | |
| !contains(github.event.pull_request.labels.*.name, 'run-secure-tests') | |
| run: | | |
| echo "ERROR: This PR is from an external contributor and requires the 'run-secure-tests' label." | |
| exit 1 | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha || github.event.inputs.ref || github.ref }} | |
| - name: Enable Corepack | |
| run: corepack enable | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24.14.0 | |
| cache: "pnpm" | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Build SDK | |
| run: | | |
| cd sdk | |
| pnpm build | |
| - name: Setup E2E Cache | |
| uses: actions/cache@v5 | |
| with: | |
| path: .tmp/rwsdk-e2e/rwsdk-e2e-cache | |
| key: ${{ runner.os }}-${{ matrix.package-manager }}-e2e-deps-${{ hashFiles('playground/**/package.json', 'playground/**/pnpm-lock.yaml', 'playground/**/yarn.lock', 'playground/**/package-lock.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-${{ matrix.package-manager }}-e2e-deps- | |
| - name: Run Playground E2E Tests (Dev) | |
| id: tests | |
| run: | | |
| pnpm install | |
| pnpm test:e2e | |
| - name: Upload playground artifacts | |
| uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: playground-e2e-dev-artifacts-${{ matrix.os }}-${{ matrix.package-manager }} | |
| path: | | |
| /tmp/*-e2e-test-* | |
| playground/**/node_modules/.cache/wrangler | |
| retention-days: 7 | |
| playground-e2e-deploy: | |
| needs: setup-matrix | |
| name: Playground E2E Tests (Deploy) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: ${{ fromJson(needs.setup-matrix.outputs.matrix) }} | |
| timeout-minutes: 60 | |
| env: | |
| DEBUG: rwsdk:e2e:* | |
| MAX_RETRIES: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '10' || '1' }} | |
| RWSDK_SETUP_PLAYGROUND_ENV_TIMEOUT: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '1800000' || '' }} # 30 mins | |
| RWSDK_DEPLOYMENT_TIMEOUT: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '900000' || '' }} # 15 mins | |
| RWSDK_DEPLOYMENT_MIN_TRIES: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '10' || '' }} | |
| RWSDK_DEPLOYMENT_CHECK_TIMEOUT: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '600000' || '' }} # 10 mins | |
| RWSDK_PUPPETEER_TIMEOUT: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '300000' || '' }} # 5 mins | |
| RWSDK_HYDRATION_TIMEOUT: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '10000' || '' }} # 10s | |
| RWSDK_TEST_MAX_RETRIES: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '12' || '' }} | |
| RWSDK_TEST_MAX_RETRIES_PER_CODE: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '20' || '' }} | |
| RWSDK_SKIP_DEV: "1" | |
| # context(justinvdm, 2025-09-20): | |
| # Only run this job for PRs from the same repository and pushes to main | |
| # For security, GH won't expose secrets for fork PRs | |
| if: | | |
| github.event_name == 'push' || | |
| github.event_name == 'schedule' || | |
| github.event_name == 'workflow_dispatch' || | |
| github.event_name == 'pull_request_target' | |
| steps: | |
| - name: Require approval for external contributors | |
| if: | | |
| github.event_name == 'pull_request_target' && | |
| github.event.pull_request.user.login != 'renovate[bot]' && | |
| github.event.pull_request.author_association != 'OWNER' && | |
| github.event.pull_request.author_association != 'MEMBER' && | |
| github.event.pull_request.author_association != 'COLLABORATOR' && | |
| !contains(github.event.pull_request.labels.*.name, 'run-secure-tests') | |
| run: | | |
| echo "ERROR: This PR is from an external contributor and requires the 'run-secure-tests' label." | |
| exit 1 | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha || github.event.inputs.ref || github.ref }} | |
| - name: Enable Corepack | |
| run: corepack enable | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24.14.0 | |
| cache: "pnpm" | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Build SDK | |
| run: | | |
| cd sdk | |
| pnpm build | |
| - name: Setup E2E Cache | |
| uses: actions/cache@v5 | |
| with: | |
| path: .tmp/rwsdk-e2e/rwsdk-e2e-cache | |
| key: ${{ runner.os }}-${{ matrix.package-manager }}-e2e-deps-${{ hashFiles('playground/**/package.json', 'playground/**/pnpm-lock.yaml', 'playground/**/yarn.lock', 'playground/**/package-lock.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-${{ matrix.package-manager }}-e2e-deps- | |
| - name: Run Playground E2E Tests (Deploy) | |
| id: tests | |
| run: | | |
| pnpm install | |
| pnpm test:e2e | |
| - name: Upload playground artifacts | |
| uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: playground-e2e-deploy-artifacts-${{ matrix.os }}-${{ matrix.package-manager }} | |
| path: | | |
| /tmp/*-e2e-test-* | |
| playground/**/node_modules/.cache/wrangler | |
| retention-days: 7 |