Skip to content

Commit 33c4856

Browse files
committed
WIP
1 parent 2763e7a commit 33c4856

File tree

1 file changed

+118
-127
lines changed

1 file changed

+118
-127
lines changed

.github/workflows/e2e-self-hosted.yml

Lines changed: 118 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,6 @@ jobs:
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

Comments
 (0)