1010
1111env :
1212 nodejs : " 16.x"
13+ java_version : " 17"
14+ gradle_version : " 7.6.1"
1315 BROWSERSTACK_USERNAME : ${{ secrets.BROWSERSTACK_USERNAME }}
1416 BROWSERSTACK_ACCESS_KEY : ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
1517
@@ -49,10 +51,26 @@ jobs:
4951 - name : Upload artifact to BrowserStack
5052 if : env.BROWSERSTACK_USERNAME != ''
5153 run : scripts/upload-browserstack.sh --ios
52- # need to have an App for device target
53- # - name: Run e2e tests
54- # if: env.BROWSERSTACK_USERNAME != ''
55- # run: scripts/test-app.sh --ios --device
54+
55+ test-ios :
56+ needs : build-ios
57+ runs-on : macOS-latest
58+ steps :
59+ - uses : actions/checkout@v1
60+ if : env.BROWSERSTACK_USERNAME != ''
61+ - name : Install Node.js ${{ env.nodejs }}
62+ if : env.BROWSERSTACK_USERNAME != ''
63+ uses : actions/setup-node@v4
64+ with :
65+ node-version : ${{ env.nodejs }}
66+ cache : npm
67+ cache-dependency-path : package-lock.json
68+ - name : Install node modules
69+ if : env.BROWSERSTACK_USERNAME != ''
70+ run : npm ci
71+ - name : Run e2e tests (iOS)
72+ if : env.BROWSERSTACK_USERNAME != ''
73+ run : scripts/test-app.sh --ios --device
5674
5775 build-android :
5876 runs-on : ubuntu-latest
@@ -70,17 +88,16 @@ jobs:
7088 uses : actions/setup-java@v2
7189 with :
7290 distribution : " zulu"
73- java-version : " 17 "
91+ java-version : ${{ env.java_version }}
7492 java-package : jdk
7593 - name : Ensure Android build-tools 33.0.2
7694 run : yes | "${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager" "build-tools;33.0.2"
77- - name : Install Gradle 7.6.1
95+ - name : Install Gradle ${{ env.gradle_version }}
7896 run : |
7997 set -euo pipefail
80- GRADLE_VERSION=7.6.1
81- curl -sSL "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" -o gradle.zip
98+ curl -sSL "https://services.gradle.org/distributions/gradle-${{ env.gradle_version }}-bin.zip" -o gradle.zip
8299 unzip -q gradle.zip -d "$HOME/gradle"
83- echo "$HOME/gradle/gradle-${GRADLE_VERSION }/bin" >> "$GITHUB_PATH"
100+ echo "$HOME/gradle/gradle-${{ env.gradle_version } }/bin" >> "$GITHUB_PATH"
84101 rm gradle.zip
85102 - name : Update test cert for httpbin.org
86103 run : npm run update:cert
@@ -101,8 +118,25 @@ jobs:
101118 - name : Build test app
102119 run : scripts/build-test-app.sh --android --device
103120 - name : Upload artifact to BrowserStack
104- if : env.BROWSERSTACK_USERNAME != ''
121+ if : env.BROWSERSTACK_USERNAME != '''
105122 run : scripts/upload-browserstack.sh --android
106- - name : Run e2e tests
123+
124+ test-android :
125+ needs : build-android
126+ runs-on : ubuntu-latest
127+ steps :
128+ - uses : actions/checkout@v1
129+ if : env.BROWSERSTACK_USERNAME != ''
130+ - name : Install Node.js ${{ env.nodejs }}
131+ if : env.BROWSERSTACK_USERNAME != ''
132+ uses : actions/setup-node@v4
133+ with :
134+ node-version : ${{ env.nodejs }}
135+ cache : npm
136+ cache-dependency-path : package-lock.json
137+ - name : Install node modules
138+ if : env.BROWSERSTACK_USERNAME != ''
139+ run : npm ci
140+ - name : Run e2e tests (Android)
107141 if : env.BROWSERSTACK_USERNAME != ''
108142 run : scripts/test-app.sh --android --device
0 commit comments