fix(deps): update starter-peer-deps #1381
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: Starter Smoke Tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - "docs/**" | |
| - ".notes/**" | |
| - "*.md" | |
| - "src/**/*.test.*" | |
| pull_request: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - "docs/**" | |
| - ".notes/**" | |
| - "*.md" | |
| - "src/**/*.test.*" | |
| workflow_dispatch: | |
| inputs: | |
| starter: | |
| description: "Starter to test (e.g., minimal, standard)" | |
| required: true | |
| type: choice | |
| default: "minimal" | |
| options: | |
| - minimal | |
| - standard | |
| - all | |
| os: | |
| description: "OS to run on (e.g., ubuntu-latest, macos-latest)" | |
| required: true | |
| type: choice | |
| default: "all" | |
| options: | |
| - all | |
| - ubuntu-latest | |
| - macos-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: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| 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 [ "${{ github.event_name }}" == "pull_request" ] || [ "${{ github.event_name }}" == "push" ]; then | |
| echo 'matrix={"include":[{"starter":"minimal","os":"ubuntu-latest","package-manager":"npm"}]}' >> $GITHUB_OUTPUT | |
| elif [ "${{ github.event_name }}" == "workflow_dispatch" ]; then | |
| STARTER_INPUT=${{ github.event.inputs.starter }} | |
| OS_INPUT=${{ github.event.inputs.os }} | |
| PM_INPUT=${{ github.event.inputs.package-manager }} | |
| [ "$STARTER_INPUT" == "all" ] && STARTER_LIST='minimal standard' || STARTER_LIST=$STARTER_INPUT | |
| [ "$OS_INPUT" == "all" ] && OS_LIST='ubuntu-latest macos-latest' || OS_LIST=$OS_INPUT | |
| [ "$PM_INPUT" == "all" ] && PM_LIST='pnpm npm yarn yarn-classic' || PM_LIST=$PM_INPUT | |
| JSON_ARRAY="[]" | |
| for s in $STARTER_LIST; do | |
| for o in $OS_LIST; do | |
| for p in $PM_LIST; do | |
| JSON_ARRAY=$(echo "$JSON_ARRAY" | jq ". + [{\"starter\":\"$s\",\"os\":\"$o\",\"package-manager\":\"$p\"}]") | |
| done | |
| done | |
| done | |
| echo "matrix={\"include\":${JSON_ARRAY}}" >> $GITHUB_OUTPUT | |
| else # this is for workflow_call | |
| echo 'matrix={"include":[{"starter":"minimal","os":"ubuntu-latest","package-manager":"pnpm"},{"starter":"minimal","os":"ubuntu-latest","package-manager":"npm"},{"starter":"minimal","os":"ubuntu-latest","package-manager":"yarn"},{"starter":"minimal","os":"ubuntu-latest","package-manager":"yarn-classic"},{"starter":"minimal","os":"macos-latest","package-manager":"pnpm"},{"starter":"minimal","os":"macos-latest","package-manager":"npm"},{"starter":"minimal","os":"macos-latest","package-manager":"yarn"},{"starter":"minimal","os":"macos-latest","package-manager":"yarn-classic"},{"starter":"standard","os":"ubuntu-latest","package-manager":"pnpm"},{"starter":"standard","os":"ubuntu-latest","package-manager":"npm"},{"starter":"standard","os":"ubuntu-latest","package-manager":"yarn"},{"starter":"standard","os":"ubuntu-latest","package-manager":"yarn-classic"},{"starter":"standard","os":"macos-latest","package-manager":"pnpm"},{"starter":"standard","os":"macos-latest","package-manager":"npm"},{"starter":"standard","os":"macos-latest","package-manager":"yarn"},{"starter":"standard","os":"macos-latest","package-manager":"yarn-classic"}]}' >> $GITHUB_OUTPUT | |
| fi | |
| smoke-test: | |
| needs: setup-matrix | |
| name: ${{ matrix.starter }} starter - ${{ matrix.os }} - ${{ matrix.package-manager }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: ${{ fromJson(needs.setup-matrix.outputs.matrix) }} | |
| timeout-minutes: 60 | |
| env: | |
| MAX_RETRIES: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '10' || '3' }} | |
| 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_DEV_SERVER_TIMEOUT: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_call') && '900000' || '' }} # 15 mins | |
| # context(justinvdm, 2025-05-12): | |
| # 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.pull_request.head.repo.full_name == github.repository | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Install dependencies | |
| shell: bash | |
| run: | | |
| corepack enable | |
| pnpm install | |
| - name: Run Smoke Tests | |
| id: smoke-test | |
| shell: bash | |
| run: | | |
| ./scripts/retry.sh ./sdk/scripts/ci-smoke-test.sh --starter "${{ matrix.starter }}" --package-manager "${{ matrix.package-manager }}" | |
| env: | |
| CHROME_BIN: ${{ steps.setup-chrome.outputs.chrome-path }} | |
| - name: Upload starter artifacts | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: smoke-test-artifacts-${{ matrix.starter }}-${{ matrix.os }}-${{ matrix.package-manager }} | |
| path: smoke-test-artifacts/${{ matrix.starter }} | |
| retention-days: 7 |