-
Notifications
You must be signed in to change notification settings - Fork 15
132 lines (110 loc) · 3.55 KB
/
mocha-ios.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
name: mocha-ios
on:
pull_request:
branches:
- 'master'
push:
branches:
- 'master'
jobs:
mocha-ios:
runs-on: macos-12
timeout-minutes: 120
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Setup Docker Colima 1
uses: douglascamata/setup-docker-macos-action@v1-alpha
id: docker1
continue-on-error: true
with:
lima: v0.18.0
colima: v0.5.6
- name: Setup Docker Colima 2
if: steps.docker1.outcome != 'success'
uses: douglascamata/setup-docker-macos-action@v1-alpha
id: docker2
continue-on-error: true
with:
lima: v0.18.0
colima: v0.5.6
- name: Setup Docker Default
if: steps.docker1.outcome != 'success' && steps.docker2.outcome != 'success'
uses: docker-practice/[email protected]
timeout-minutes: 30
- name: Run regtest setup
working-directory: example/docker
run: |
mkdir lnd
mkdir clightning
chmod 777 lnd clightning
docker-compose up -d --quiet-pull
- name: Wait for electrum server
timeout-minutes: 2
run: while ! nc -z '127.0.0.1' 60001; do sleep 1; done
- name: Node
uses: actions/setup-node@v3
with:
node-version: 18
cache: 'yarn' # cache packages, but not node_modules
cache-dependency-path: 'example/yarn.lock'
- name: Cache lib node modules
uses: actions/cache@v3
id: lib-npmcache
with:
path: lib/node_modules
key: node-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install lib dependencies
if: steps.lib-npmcache.outputs.cache-hit != 'true'
working-directory: lib
run: yarn --no-audit --prefer-offline || yarn --no-audit --prefer-offline
- name: Build lib
working-directory: lib
run: yarn build
- name: Cache app node modules
uses: actions/cache@v3
id: cache-nm
with:
path: example/node_modules
key: node-modules-${{ hashFiles('**/yarn.lock') }}
- name: Rebuild detox
if: steps.cache-nm.outputs.cache-hit == 'true'
working-directory: example
run: yarn detox clean-framework-cache && yarn detox build-framework-cache
- name: Install Dependencies
if: steps.cache-nm.outputs.cache-hit != 'true'
working-directory: example
run: yarn install --no-audit --prefer-offline && yarn rn-setup
- name: Cache Pods
uses: actions/cache@v3
id: podcache
with:
path: example/ios/Pods
key: pods-${{ hashFiles('**/Podfile.lock') }}
- name: Install pods
working-directory: example
run: |
gem update cocoapods xcodeproj
cd ios && pod install && cd ..
- name: Install applesimutils
run: |
brew tap wix/brew
brew install applesimutils
- name: Build
working-directory: example
run: npx react-native run-ios --no-packager
- name: Test iOS app
working-directory: example
run: yarn test:mocha:ios
- name: Prepare articrafts
if: failure()
run: |
mkdir articrafts
find /Users/runner/Library/Developer/CoreSimulator/Devices/ -path '*Documents/ldk' -exec cp -r "{}" articrafts/ \;
- uses: actions/upload-artifact@v3
if: failure()
with:
name: ldk-data
path: articrafts