Skip to main content
Module

x/valtio/.github/workflows/test-multiple-versions.yml

πŸ’Š Valtio makes proxy-state simple for React and Vanilla
Latest
File
name: Test Multiple Versions
on: push: branches: [main] pull_request: types: [opened, synchronize]
jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: pnpm/action-setup@v2 with: version: 8.2.0 - uses: actions/setup-node@v3 with: node-version: 18 cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - run: pnpm install --frozen-lockfile - run: pnpm build # we don't have any other workflows to test build - run: pnpm test:spec
test_matrix: runs-on: ubuntu-latest strategy: fail-fast: false matrix: react: - 18.0.0 - 18.1.0 - 18.2.0 - 18.3.1 - 19.0.0-rc-915b914b3a-20240515 - 0.0.0-experimental-915b914b3a-20240515 steps: - uses: actions/checkout@v3 - uses: pnpm/action-setup@v2 with: version: 8.2.0 - uses: actions/setup-node@v3 with: node-version: 18 cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - run: pnpm install --frozen-lockfile - run: pnpm build # for macro test - name: Install legacy testing-library if: ${{ startsWith(matrix.react, '16.') || startsWith(matrix.react, '17.') }} run: pnpm add -D @testing-library/react@12.1.4 - name: Patch for React 16 if: ${{ startsWith(matrix.react, '16.') }} run: | sed -i~ '1s/^/import React from "react";/' tests/*.tsx sed -i~ 's/"jsx": "react-jsx"/"jsx": "react"/' tsconfig.json sed -i~ 's/import\.meta\.env[?]\.MODE/"DEVELOPMENT".toLowerCase()/' src/*.ts src/*/*.ts src/*/*/*.ts - name: Test ${{ matrix.react }} run: | pnpm add -D react@${{ matrix.react }} react-dom@${{ matrix.react }} pnpm test:spec