-
-
Notifications
You must be signed in to change notification settings - Fork 709
75 lines (72 loc) · 2.7 KB
/
test-multiple-versions.yml
File metadata and controls
75 lines (72 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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: '12'
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_LESS_MODE: 'true'
test_matrix:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
react:
- 16.8.6
- 16.9.0
- 17.0.0
- 18.0.0-beta-149b420f6-20211119
- 0.0.0-experimental-149b420f6-20211119
mode: [withProvider, withoutProvider]
versionObject: [withVersionObject, withoutVersionObject]
testing: [default, alpha]
exclude:
- { react: 16.8.6, testing: alpha }
- { react: 16.9.0, testing: alpha }
- { react: 17.0.0, testing: alpha }
- { react: 18.0.0-beta-149b420f6-20211119, testing: default } # suspense doesn't work?
- { react: 0.0.0-experimental-149b420f6-20211119, testing: default } # suspense doesn't work?
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '12'
cache: yarn
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- run: yarn install --frozen-lockfile --check-files
- name: Install alpha testing-library
if: ${{ matrix.testing == 'alpha' }}
run: yarn add -D @testing-library/react@alpha
- name: Patch for React 16.8
if: ${{ startsWith(matrix.react, '16.8.') }}
run: |
sed -i~ 's/it(.async atom double chain without setTimeout (#751).,/it.skip("async atom double chain without setTimeout (#751)",/' tests/async.test.tsx
- 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
- name: Test ${{ matrix.react }} ${{ matrix.mode }} ${{ matrix.versionObject }}
run: |
yarn add -D react@${{ matrix.react }} react-dom@${{ matrix.react }}
yarn test:ci
env:
PROVIDER_LESS_MODE: ${{ matrix.mode == 'withoutProvider' }}
JOTAI_EXPERIMENTAL_VERSION_OBJECT: ${{ matrix.versionObject == 'withVersionObject' }}