Skip to main content
Module

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

👻 Primitive and flexible state management for React
Go to 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@v2 - uses: actions/setup-node@v2 with: node-version: '14' cache: yarn - run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* - run: yarn install --frozen-lockfile --check-files - name: Test Build # we don't have any other workflows to test build run: yarn build - name: Test Default with Provider run: yarn test:ci - name: Test Default without Provider run: yarn test:ci env: PROVIDER_MODE: 'PROVIDER_LESS' - name: Test Default with Versioned Write run: yarn test:ci env: PROVIDER_MODE: 'VERSIONED_WRITE'
test_matrix: runs-on: ubuntu-latest strategy: fail-fast: false matrix: react: - 16.8.6 - 16.9.0 - 17.0.0 - 18.0.0 - 18.1.0 - 18.2.0 - 18.3.0-next-ca990e9a7-20220804 - 0.0.0-experimental-ca990e9a7-20220804 mode: [NORMAL, PROVIDER_LESS, VERSIONED_WRITE] exclude: - { react: 16.8.6, mode: VERSIONED_WRITE } - { react: 16.9.0, mode: VERSIONED_WRITE } - { react: 17.0.0, mode: VERSIONED_WRITE } steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: '14' cache: yarn - run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* - run: yarn install --frozen-lockfile --check-files - name: Install legacy testing-library if: ${{ startsWith(matrix.react, '16.') || startsWith(matrix.react, '17.') }} run: yarn 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 tests/*/*.tsx sed -i~ 's/automatic/classic/' babel.config.js sed -i~ 's/automatic/classic/' .swcrc - name: Test ${{ matrix.react }} ${{ matrix.mode }} run: | yarn add -D react@${{ matrix.react }} react-dom@${{ matrix.react }} yarn test:ci env: PROVIDER_MODE: ${{ matrix.mode }}