3333 echo ""
3434 echo "Xcode Version:"
3535 xcodebuild -version
36- echo ""
37- echo "Xcode Path:"
38- xcode-select -p
39- echo ""
40- echo "Available Xcode Versions:"
41- ls -la /Applications/ | grep -i xcode || echo "No Xcode installations found in /Applications/"
42- echo ""
43- echo "System Architecture:"
44- uname -m
4536
4637 - name : Setup iOS Simulator
4738 run : |
@@ -119,144 +110,144 @@ jobs:
119110 name : bitkit-e2e-ios_${{ github.run_number }}
120111 path : e2e-app/
121112
122- # e2e-tests:
123- # runs-on: self-hosted
124- # needs: build
113+ e2e-tests :
114+ runs-on : self-hosted
115+ needs : build
125116
126- # strategy:
127- # fail-fast: false
128- # matrix:
129- # shard:
130- # # - { name: onboarding_backup_numberpad, grep: "@onboarding|@backup|@numberpad" }
131- # # - { name: onchain_boost_receive_widgets, grep: "@onchain|@boost|@receive|@widgets" }
132- # # - { name: settings, grep: "@settings" }
133- # # - { name: security, grep: "@security" }
134- # - { name: onboarding, grep: "@onboarding" }
117+ strategy :
118+ fail-fast : false
119+ matrix :
120+ shard :
121+ # - { name: onboarding_backup_numberpad, grep: "@onboarding|@backup|@numberpad" }
122+ # - { name: onchain_boost_receive_widgets, grep: "@onchain|@boost|@receive|@widgets" }
123+ # - { name: settings, grep: "@settings" }
124+ # - { name: security, grep: "@security" }
125+ - { name: onboarding, grep: "@onboarding" }
135126
136- # name: e2e-tests - ${{ matrix.shard.name }}
127+ name : e2e-tests - ${{ matrix.shard.name }}
137128
138- # steps:
139- # - name: Show selected E2E branch
140- # env:
141- # E2E_BRANCH: ${{ github.event.inputs.e2e_branch || 'main' }}
142- # run: echo $E2E_BRANCH
143-
144- # - name: Clone E2E tests
145- # uses: actions/checkout@v4
146- # with:
147- # repository: synonymdev/bitkit-e2e-tests
148- # path: bitkit-e2e-tests
149- # ref: ${{ github.event.inputs.e2e_branch || 'main' }}
150-
151- # - name: Download iOS app
152- # uses: actions/download-artifact@v4
153- # with:
154- # name: bitkit-e2e-ios_${{ github.run_number }}
155- # path: bitkit-e2e-tests/aut
129+ steps :
130+ - name : Show selected E2E branch
131+ env :
132+ E2E_BRANCH : ${{ github.event.inputs.e2e_branch || 'main' }}
133+ run : echo $E2E_BRANCH
156134
157- # - name: List iOS app directory contents
158- # run: ls -l bitkit-e2e-tests/aut
135+ - name : Clone E2E tests
136+ uses : actions/checkout@v4
137+ with :
138+ repository : synonymdev/bitkit-e2e-tests
139+ path : bitkit-e2e-tests
140+ ref : ${{ github.event.inputs.e2e_branch || 'main' }}
159141
160- # - name: Setup Node.js
161- # uses: actions/setup-node@v4
162- # with:
163- # node-version: 22
142+ - name : Download iOS app
143+ uses : actions/download-artifact@v4
144+ with :
145+ name : bitkit-e2e-ios_${{ github.run_number }}
146+ path : bitkit-e2e-tests/aut
164147
165- # - name: Cache npm cache
166- # uses: actions/cache@v3
167- # with:
168- # path: ~/.npm
169- # key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
170- # restore-keys: |
171- # ${{ runner.os }}-node-
148+ - name : List iOS app directory contents
149+ run : ls -l bitkit-e2e-tests/aut
172150
173- # - name: Install dependencies
174- # working-directory: bitkit-e2e-tests
175- # run: npm ci
151+ - name : Setup Node.js
152+ uses : actions/setup-node@v4
153+ with :
154+ node-version : 22
176155
177- # - name: Install Docker
178- # run: |
179- # # Install Docker Desktop for Mac
180- # brew install --cask docker
181- # # Start Docker Desktop
182- # open -a Docker
183- # # Wait for Docker to be ready (with longer timeout)
184- # echo "Waiting for Docker to start..."
185- # timeout 120 bash -c 'until docker info >/dev/null 2>&1; do echo "Waiting for Docker..."; sleep 5; done'
186- # echo "Docker is ready!"
156+ - name : Cache npm cache
157+ uses : actions/cache@v3
158+ with :
159+ path : ~/.npm
160+ key : ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
161+ restore-keys : |
162+ ${{ runner.os }}-node-
187163
188- # - name: Install Docker Compose
189- # run: |
190- # # Install docker-compose via pip (more reliable than brew on macOS runners)
191- # python3 -m pip install docker-compose
164+ - name : Install dependencies
165+ working-directory : bitkit-e2e-tests
166+ run : npm ci
192167
193- # - name: Docker info
194- # run: |
195- # docker --version
196- # docker info
197- # docker ps
168+ - name : Install Docker
169+ run : |
170+ # Install Docker Desktop for Mac
171+ brew install --cask docker
172+ # Start Docker Desktop
173+ open -a Docker
174+ # Wait for Docker to be ready (with longer timeout)
175+ echo "Waiting for Docker to start..."
176+ timeout 120 bash -c 'until docker info >/dev/null 2>&1; do echo "Waiting for Docker..."; sleep 5; done'
177+ echo "Docker is ready!"
178+
179+ - name : Install Docker Compose
180+ run : |
181+ # Install docker-compose via pip (more reliable than brew on macOS runners)
182+ python3 -m pip install docker-compose
198183
199- # - name: Run regtest setup
200- # working-directory: bitkit-e2e-tests
201- # run: |
202- # cd docker
203- # mkdir lnd && chmod 777 lnd
204- # docker compose pull --quiet
205- # docker compose up -d
184+ - name : Docker info
185+ run : |
186+ docker --version
187+ docker info
188+ docker ps
206189
207- # - name: Wait for electrum server and LND
208- # working-directory: bitkit-e2e-tests
209- # timeout-minutes: 10
210- # run: |
211- # while ! nc -z '127.0.0.1' 60001; do sleep 1; done
212- # sudo bash -c "while [ ! -f docker/lnd/data/chain/bitcoin/regtest/admin.macaroon ]; do sleep 1; done"
213- # sudo chmod -R 777 docker/lnd
190+ - name : Run regtest setup
191+ working-directory : bitkit-e2e-tests
192+ run : |
193+ cd docker
194+ mkdir lnd && chmod 777 lnd
195+ docker compose pull --quiet
196+ docker compose up -d
197+
198+ - name : Wait for electrum server and LND
199+ working-directory : bitkit-e2e-tests
200+ timeout-minutes : 10
201+ run : |
202+ while ! nc -z '127.0.0.1' 60001; do sleep 1; done
203+ sudo bash -c "while [ ! -f docker/lnd/data/chain/bitcoin/regtest/admin.macaroon ]; do sleep 1; done"
204+ sudo chmod -R 777 docker/lnd
214205
215- # - name: Setup iOS Simulator
216- # run: |
217- # # Boot iOS Simulator
218- # xcrun simctl boot "iPhone 16 " || true
219- # xcrun simctl bootstatus "iPhone 16 " -b
206+ - name : Setup iOS Simulator
207+ run : |
208+ # Boot iOS Simulator
209+ xcrun simctl boot "iPhone 17 " || true
210+ xcrun simctl bootstatus "iPhone 17 " -b
220211
221- # # Install the app
222- # xcrun simctl install "iPhone 16 " bitkit-e2e-tests/aut/bitkit.app
212+ # Install the app
213+ xcrun simctl install "iPhone 17 " bitkit-e2e-tests/aut/bitkit.app
223214
224- # - name: Run E2E Tests (${{ matrix.shard.name }})
225- # run: |
226- # cd bitkit-e2e-tests
215+ - name : Run E2E Tests (${{ matrix.shard.name }})
216+ run : |
217+ cd bitkit-e2e-tests
227218
228- # # Setup logging
229- # LOGDIR="./artifacts"
230- # mkdir -p "$LOGDIR"
231- # LOGFILE="$LOGDIR/simulator.log"
219+ # Setup logging
220+ LOGDIR="./artifacts"
221+ mkdir -p "$LOGDIR"
222+ LOGFILE="$LOGDIR/simulator.log"
232223
233- # # Start simulator logging
234- # xcrun simctl spawn "iPhone 16 " log stream --predicate 'process == "Bitkit"' --style compact > "$LOGFILE" &
235- # LOG_PID=$!
224+ # Start simulator logging
225+ xcrun simctl spawn "iPhone 17 " log stream --predicate 'process == "Bitkit"' --style compact > "$LOGFILE" &
226+ LOG_PID=$!
236227
237- # # Setup port forwarding for regtest and LND
238- # xcrun simctl spawn "iPhone 16 " launchctl load -w /System/Library/LaunchDaemons/com.apple.usbmuxd.plist || true
228+ # Setup port forwarding for regtest and LND
229+ xcrun simctl spawn "iPhone 17 " launchctl load -w /System/Library/LaunchDaemons/com.apple.usbmuxd.plist || true
239230
240- # # Cleanup function
241- # cleanup() {
242- # kill "$LOG_PID" 2>/dev/null || true
243- # wait "$LOG_PID" 2>/dev/null || true
244- # }
245- # trap cleanup EXIT INT TERM
231+ # Cleanup function
232+ cleanup() {
233+ kill "$LOG_PID" 2>/dev/null || true
234+ wait "$LOG_PID" 2>/dev/null || true
235+ }
236+ trap cleanup EXIT INT TERM
246237
247- # # Pass everything through to WDIO/Mocha
248- # npm run e2e:ios -- "$@"
249- # env:
250- # RECORD_VIDEO: true
238+ # Pass everything through to WDIO/Mocha
239+ npm run e2e:ios -- "$@"
240+ env :
241+ RECORD_VIDEO : true
251242
252- # - name: Upload E2E Artifacts (${{ matrix.shard.name }})
253- # if: failure()
254- # uses: actions/upload-artifact@v4
255- # with:
256- # name: e2e-artifacts_${{ matrix.shard.name }}_${{ github.run_number }}
257- # path: bitkit-e2e-tests/artifacts/
243+ - name : Upload E2E Artifacts (${{ matrix.shard.name }})
244+ if : failure()
245+ uses : actions/upload-artifact@v4
246+ with :
247+ name : e2e-artifacts_${{ matrix.shard.name }}_${{ github.run_number }}
248+ path : bitkit-e2e-tests/artifacts/
258249
259- # - name: Dump docker logs on failure (${{ matrix.shard.name }})
260- # if: failure()
261- # uses: jwalton/gh-docker-logs@v2
250+ - name : Dump docker logs on failure (${{ matrix.shard.name }})
251+ if : failure()
252+ uses : jwalton/gh-docker-logs@v2
262253
0 commit comments