-
Notifications
You must be signed in to change notification settings - Fork 0
135 lines (133 loc) · 3.7 KB
/
test.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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
name: Test
on:
push:
branches: ['main']
pull_request:
branches: ['main']
jobs:
npm-compatibility-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: lts/*
# Cache not enabled to test if npm can load and resolve everything
- name: Remove engine restrictions to enable use of npm
run: npm pkg delete engines
- run: npm i
test-web:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Cache node_modules
id: node-modules
uses: actions/cache@v4
with:
path: |
node_modules
example/node_modules
.yarn/cache
key: node-modules
- run: yarn
- run: yarn test
test-ios:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: lts/*
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'
bundler-cache: true
- name: 'Get Ruby Version'
run: ruby --version
- uses: SwiftyLab/setup-swift@latest
with:
swift-version: '5.10.0'
- name: Get Swift Version
run: swift --version
- name: Get Xcode version
env:
DEVELOPER_DIR: /Applications/Xcode_15.4.app
run: xcodebuild -version
- name: Cache Pods
id: pods
uses: actions/cache@v4
with:
path: |
example/ios/Pods
key: pods
- name: Cache node_modules
id: node-modules
uses: actions/cache@v4
with:
path: |
node_modules
example/node_modules
.yarn/cache
key: node-modules
- name: Cache Xcode DerivedData
uses: irgaly/[email protected]
with:
key: xcode-deriveddata
restore-keys: xcode-deriveddata
- run: corepack enable
- run: yarn
- run: cd example; bundle; cd -
- run: cd example/ios; bundle exec pod install; cd -
- name: Run Tests
env:
DEVELOPER_DIR: /Applications/Xcode_15.4.app
run: make test-ios
test-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Android SDK
uses: android-actions/setup-android@v3
- name: Setup Nodejs
uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Cache node_modules
id: node-modules
uses: actions/cache@v4
with:
path: |
node_modules
example/node_modules
.yarn/cache
key: node-modules
- name: Cache Gradle
id: cache_gradle
uses: actions/cache@v4
with:
path: |
.gradle
example/android/.gradle
~/.gradle/caches
key: gradle
- run: |
corepack enable
yarn
- name: Run Gradle
if: steps.cache_gradle.outputs.cache-hit != 'true'
run: example/android/gradlew
- name: Run Tests
run: make test-android