-
-
Notifications
You must be signed in to change notification settings - Fork 58
119 lines (94 loc) · 2.54 KB
/
review.yml
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
name: Review
on:
push:
branches:
- main
pull_request:
branches:
- main
merge_group:
types:
- checks_requested
jobs:
lint-tsc:
name: Lint TSC
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
- name: Lint with TSC
run: yarn lint:tsc
- name: Lint Plugin with TSC
run: yarn plugin:lint:tsc
lint-eslint:
name: Lint ESLint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
- name: Lint with ESLint
run: yarn lint:eslint
- name: Lint Plugin with ESLint
run: yarn plugin:lint:eslint
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
- name: Test with Jest
run: yarn test
- name: Test Plugin with Jest
run: yarn plugin:test
codegen:
name: Codegen
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
- name: Codegen
run: yarn codegen
build-library:
name: Build Library
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
- name: Build Library
run: yarn prepack
build-react-native-android:
name: Build React Native Android
needs: [lint-eslint, lint-tsc, test, codegen, build-library]
uses: ./.github/workflows/build-react-native-android.yml
build-react-native-ios:
name: Build React Native iOS & Test with Detox
needs: [lint-eslint, lint-tsc, test, codegen, build-library]
uses: ./.github/workflows/build-react-native-ios.yml
publish:
name: Publish
if: startsWith(github.ref, 'refs/tags/')
needs: [lint-eslint, lint-tsc, test, codegen, build-library, build-react-native-android, build-react-native-ios]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
with:
registry-url: https://registry.npmjs.org/
- name: Setup .yarnrc.yml
run: yarn config set npmAuthToken $NPM_AUTH_TOKEN
env:
NPM_AUTH_TOKEN: ${{ secrets.NPM_ORG_TOKEN }}
- name: Publish
run: yarn npm publish