Skip to content

Commit bc8c8d2

Browse files
committed
run detox with screenshots
1 parent 32bfc67 commit bc8c8d2

File tree

3 files changed

+50
-2
lines changed

3 files changed

+50
-2
lines changed

.github/workflows/callable-e2e-test-detox.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
xcrun simctl create "iPhone 15" "iPhone 15" "$RUNTIME" || \
6060
echo "Could not create iPhone 15, will use available device"
6161
fi
62-
62+
6363
# Boot iPhone 15 if it exists, otherwise use first available iPhone
6464
if xcrun simctl list devices | grep -q "iPhone 15"; then
6565
xcrun simctl boot "iPhone 15" &
@@ -96,3 +96,11 @@ jobs:
9696
$GITHUB_WORKSPACE/amplify-js/scripts/retry-yarn-script.sh -s 'detox test -c ios.sim.debug -u' -n 3
9797
working-directory: ${{ inputs.working_directory }}
9898
shell: bash
99+
- name: Upload screenshots on failure
100+
if: failure()
101+
uses: actions/upload-artifact@v4
102+
with:
103+
name: detox-screenshots-${{ inputs.test_name }}
104+
path: ${{ inputs.working_directory }}/screenshots/
105+
retention-days: 7
106+
if-no-files-found: ignore

.github/workflows/detox-tests.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Detox E2E Tests
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- ci/v5-stable-node-20
8+
9+
permissions: read-all
10+
11+
jobs:
12+
detox-prep:
13+
name: Load Detox test configurations
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@24cb9080177205b6e8c946b17badbe402adc938f # v3.4.0 https://github.com/actions/checkout/commit/24cb9080177205b6e8c946b17badbe402adc938f
18+
with:
19+
path: amplify-js
20+
- name: Read detox config file
21+
id: load_config
22+
run: |
23+
echo "DETOX_INTEG_CONFIG=$(cat .github/integ-config/detox-integ-all.yml | yq -o=json | jq -c .)" >> $GITHUB_OUTPUT
24+
working-directory: ./amplify-js
25+
outputs:
26+
detox-integ-config: ${{ steps.load_config.outputs.DETOX_INTEG_CONFIG }}
27+
28+
detox-e2e-test-runner:
29+
name: Detox E2E - ${{ matrix.integ-config.test_name }}
30+
needs: detox-prep
31+
strategy:
32+
matrix:
33+
integ-config: ${{ fromJson(needs.detox-prep.outputs.detox-integ-config) }}
34+
fail-fast: false
35+
secrets: inherit
36+
uses: ./.github/workflows/callable-e2e-test-detox.yml
37+
with:
38+
test_name: ${{ matrix.integ-config.test_name }}
39+
working_directory: ${{ matrix.integ-config.working_directory }}
40+
timeout_minutes: ${{ matrix.integ-config.timeout_minutes || 45 }}

.github/workflows/push-integ-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ concurrency:
88
on:
99
push:
1010
branches:
11-
- ci/v5-stable-node-20
11+
- feat/example-integ-test-branch/main
1212

1313
jobs:
1414
e2e:

0 commit comments

Comments
 (0)