This repository was archived by the owner on Feb 9, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 16
137 lines (113 loc) · 3.57 KB
/
mocha-ios.yml
File metadata and controls
137 lines (113 loc) · 3.57 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
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
136
137
name: mocha-ios
env:
NO_FLIPPER: 1
on:
pull_request:
branches:
- 'master'
push:
branches:
- 'master'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
mocha-ios:
runs-on: macos-13
timeout-minutes: 120
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup Docker Colima
run: |
brew install docker docker-compose colima
mkdir -p ~/.docker/cli-plugins
ln -sfn /opt/homebrew/opt/docker-compose/bin/docker-compose ~/.docker/cli-plugins/docker-compose || true
colima start --cpu 4 --memory 8 --disk 100
- name: Install backup-server dependencies
working-directory: backup-server
run: npm i || npm i
- 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, LND and CLightning
timeout-minutes: 5
run: |
# Wait for Electrum
while ! nc -z '127.0.0.1' 60001; do
echo "Waiting for Electrum..."
sleep 1
done
echo "Electrum is ready!"
# Wait for LND macaroon file
cd example
while [ ! -f docker/lnd/admin.macaroon ]; do
echo "Waiting for LND macaroon..."
sleep 2
done
echo "LND macaroon found!"
# Wait for CLightning to be ready
while ! docker logs clightning 2>&1 | grep -q "Server started with public key"; do
echo "Waiting for CLightning..."
sleep 2
done
echo "CLightning is ready!"
echo "All services ready!"
- name: Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'yarn' # cache packages, but not node_modules
cache-dependency-path: 'example/yarn.lock'
- name: Install lib dependencies
working-directory: lib
run: yarn || yarn
- name: Build lib
working-directory: lib
run: yarn build
- name: Install Dependencies
working-directory: example
run: (yarn || yarn) && yarn rn-setup
- name: Cache Pods
uses: actions/cache@v4
with:
path: example/ios/Pods
key: pods-${{ hashFiles('**/Podfile.lock') }}
- name: Clean CocoaPods cache
run: |
rm -rf ~/Library/Caches/CocoaPods
pod cache clean --all || true
- name: Install pods
working-directory: example
env:
COCOAPODS_DISABLE_CHECKSUM: true
run: |
gem update cocoapods xcodeproj
pod install --project-directory=ios || pod install --project-directory=ios
- name: Install applesimutils
run: |
brew tap wix/brew
brew install applesimutils
- name: Build
working-directory: example
run: npx react-native run-ios --no-packager --simulator='iPhone 15'
- name: Test iOS app
timeout-minutes: 30
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@v4
if: failure()
with:
name: ldk-data
path: articrafts