@@ -144,15 +144,38 @@ jobs:
144144 working-directory : bitkit-e2e-tests
145145 run : npm ci
146146
147+ - name : Install Appium
148+ run : |
149+ # Install Appium globally
150+ npm install -g appium@latest
151+ # Install XCUITest driver for iOS
152+ appium driver install xcuitest
153+ # Verify installation
154+ appium driver list
155+
147156 - name : Setup iOS Simulator
148157 run : |
149- # Boot iOS Simulator
158+ # List available simulators
159+ xcrun simctl list devices available
160+
161+ # Boot iPhone 16 (matches E2E test config)
150162 xcrun simctl boot "iPhone 16" || true
151163 xcrun simctl bootstatus "iPhone 16" -b
152164
153165 # Install the app
154166 xcrun simctl install "iPhone 16" e2e-app/bitkit.app
155167
168+ - name : Start Appium Server
169+ run : |
170+ # Start Appium server in background
171+ appium --port 4723 --log-level info &
172+ APPIUM_PID=$!
173+ echo "APPIUM_PID=$APPIUM_PID" >> $GITHUB_ENV
174+
175+ # Wait for Appium to be ready
176+ timeout 30 bash -c 'until curl -s http://localhost:4723/status >/dev/null; do echo "Waiting for Appium..."; sleep 2; done'
177+ echo "Appium server is ready!"
178+
156179 - name : Run E2E Tests (${{ matrix.shard.name }})
157180 run : |
158181 cd bitkit-e2e-tests
@@ -170,6 +193,8 @@ jobs:
170193 cleanup() {
171194 kill "$LOG_PID" 2>/dev/null || true
172195 wait "$LOG_PID" 2>/dev/null || true
196+ kill "$APPIUM_PID" 2>/dev/null || true
197+ wait "$APPIUM_PID" 2>/dev/null || true
173198 }
174199 trap cleanup EXIT INT TERM
175200
0 commit comments