Skip to content

Commit aecef68

Browse files
committed
ios actions
1 parent a54906e commit aecef68

1 file changed

Lines changed: 16 additions & 59 deletions

File tree

Lines changed: 16 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: iOS Build & Test
1+
name: iOS Detox
22

33
on:
44
push:
@@ -10,13 +10,13 @@ permissions:
1010
contents: read
1111

1212
jobs:
13-
build-ios:
14-
name: Build iOS App
13+
test:
14+
name: Test
1515
runs-on: depot-macos-15 # Use depot runner, fallback to: macos-15
16-
timeout-minutes: 30
16+
timeout-minutes: 45
1717

1818
steps:
19-
- name: Checkout code
19+
- name: Checkout
2020
uses: actions/checkout@v6.0.0
2121

2222
- name: Setup Node.js
@@ -31,77 +31,34 @@ jobs:
3131
- name: Setup Expo
3232
run: npx expo install
3333

34-
- name: Prebuild iOS native project
34+
- name: Prebuild iOS
3535
run: npx expo prebuild --platform ios --clean
3636

37-
- name: Setup Ruby for CocoaPods
37+
- name: Setup Ruby
3838
uses: ruby/setup-ruby@v1.268.0
3939
with:
4040
ruby-version: "3.2"
4141
bundler-cache: false
4242

43-
- name: Install CocoaPods dependencies
43+
- name: Install CocoaPods
4444
working-directory: ios
4545
run: pod install
4646

47-
- name: Build iOS app for Detox
48-
run: |
49-
xcodebuild -workspace ios/evcc.xcworkspace \
50-
-scheme evcc \
51-
-configuration Release \
52-
-sdk iphonesimulator \
53-
-destination 'platform=iOS Simulator,name=iPhone 16' \
54-
-derivedDataPath ios/build \
55-
build-for-testing
56-
57-
- name: Upload iOS app artifact
58-
uses: actions/upload-artifact@v5.0.0
59-
with:
60-
name: ios-app
61-
path: ios/build/Build/Products/Release-iphonesimulator/evcc.app
62-
retention-days: 1
63-
64-
test-ios:
65-
name: Run iOS E2E Tests
66-
runs-on: depot-macos-15 # Use depot runner, fallback to: macos-15
67-
needs: build-ios
68-
timeout-minutes: 30
69-
70-
steps:
71-
- name: Checkout code
72-
uses: actions/checkout@v6.0.0
73-
74-
- name: Setup Node.js
75-
uses: actions/setup-node@v6.0.0
76-
with:
77-
node-version: "24"
78-
cache: "npm"
79-
80-
- name: Install dependencies
81-
run: npm ci
82-
83-
- name: Download iOS app artifact
84-
uses: actions/download-artifact@v6.0.0
85-
with:
86-
name: ios-app
87-
path: ios/build/Build/Products/Release-iphonesimulator/evcc.app
88-
89-
- name: Install Detox CLI
90-
run: npm install -g detox-cli
91-
92-
- name: Prepare simulator
47+
- name: Boot simulator
9348
run: |
9449
xcrun simctl boot "iPhone 16" || true
9550
xcrun simctl list devices | grep "iPhone 16"
9651
97-
- name: Run Detox tests
98-
run: detox test --configuration ios.sim.release --cleanup
52+
- name: Build
53+
run: npx detox build --configuration ios.sim.release
54+
55+
- name: Test
56+
run: npx detox test --configuration ios.sim.release --cleanup
9957

100-
- name: Upload test artifacts on failure
58+
- name: Upload artifacts on failure
10159
if: failure()
10260
uses: actions/upload-artifact@v5.0.0
10361
with:
10462
name: detox-test-artifacts
105-
path: |
106-
e2e/artifacts/
63+
path: e2e/artifacts/
10764
retention-days: 7

0 commit comments

Comments
 (0)