1
- name : CI
2
-
3
- on : ['push', 'pull_request']
4
-
1
+ name : ✅ test
2
+ on : [push, pull_request]
5
3
jobs :
6
- setup :
7
- runs-on : ubuntu-latest
8
- steps :
9
- - name : checkout
10
- uses : actions/checkout@v4
11
-
12
- - uses : actions/setup-node@v4
13
- with :
14
- node-version : ' 20'
15
-
16
- - name : cache package-lock.json
17
- uses : actions/cache@v4
18
- with :
19
- path : package-temp-dir
20
- key : lock-${{ github.sha }}
21
-
22
- - name : create package-lock.json
23
- run : npm i --package-lock-only --ignore-scripts
24
-
25
- - name : hack for singe file
26
- run : |
27
- if [ ! -d "package-temp-dir" ]; then
28
- mkdir package-temp-dir
29
- fi
30
- cp package-lock.json package-temp-dir
31
-
32
- - name : cache node_modules
33
- id : node_modules_cache_id
34
- uses : actions/cache@v4
35
- with :
36
- path : node_modules
37
- key : node_modules-${{ hashFiles('**/package-temp-dir/package-lock.json') }}
38
-
39
- - name : install
40
- if : steps.node_modules_cache_id.outputs.cache-hit != 'true'
41
- run : npm ci
42
-
43
- lint :
44
- runs-on : ubuntu-latest
45
- steps :
46
- - name : checkout
47
- uses : actions/checkout@v4
48
-
49
- - name : restore cache from package-lock.json
50
- uses : actions/cache@v4
51
- with :
52
- path : package-temp-dir
53
- key : lock-${{ github.sha }}
54
-
55
- - name : restore cache from node_modules
56
- uses : actions/cache@v4
57
- with :
58
- path : node_modules
59
- key : node_modules-${{ hashFiles('**/package-temp-dir/package-lock.json') }}
60
-
61
- - name : lint
62
- run : npm run lint
63
-
64
- needs : setup
65
-
66
- compile :
67
- runs-on : ubuntu-latest
68
- steps :
69
- - name : checkout
70
- uses : actions/checkout@v4
71
-
72
- - name : restore cache from package-lock.json
73
- uses : actions/cache@v4
74
- with :
75
- path : package-temp-dir
76
- key : lock-${{ github.sha }}
77
-
78
- - name : restore cache from node_modules
79
- uses : actions/cache@v4
80
- with :
81
- path : node_modules
82
- key : node_modules-${{ hashFiles('**/package-temp-dir/package-lock.json') }}
83
-
84
- - name : compile
85
- run : npm run compile
86
-
87
- needs : setup
88
-
89
- coverage :
90
- runs-on : ubuntu-latest
91
- steps :
92
- - name : checkout
93
- uses : actions/checkout@v4
94
-
95
- - name : restore cache from package-lock.json
96
- uses : actions/cache@v4
97
- with :
98
- path : package-temp-dir
99
- key : lock-${{ github.sha }}
100
-
101
- - name : restore cache from node_modules
102
- uses : actions/cache@v4
103
- with :
104
- path : node_modules
105
- key : node_modules-${{ hashFiles('**/package-temp-dir/package-lock.json') }}
106
-
107
- - name : coverage
108
- run : npm test -- --coverage
109
-
110
- - name : Upload coverage to Codecov
111
- uses : codecov/codecov-action@v4
112
- with :
113
- token : ${{ secrets.CODECOV_TOKEN }}
114
-
115
- needs : setup
4
+ test :
5
+ uses : react-component/rc-test/.github/workflows/test.yml@main
6
+ secrets : inherit
0 commit comments