name: Test iOS e2e
|
|
|
|
on:
|
|
workflow_call:
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
APP_PATH: ./examples/Rn071/ios/DerivedData/Build/Products/Release-iphonesimulator/Rn071.app
|
|
EXAMPLE_SRC: ./examples/Rn071/src/**
|
|
|
|
jobs:
|
|
test-ios-e2e:
|
|
name: iOS - e2e
|
|
runs-on: macos-14
|
|
environment: e2e iOS
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
|
|
- uses: actions/cache@v4
|
|
id: cache
|
|
with:
|
|
path: |
|
|
${{ env.APP_PATH }}
|
|
${{ env.APP_PATH }}.dSYM
|
|
key: ${{ runner.os }}-${{ hashFiles('src/**', 'ios/**', env.EXAMPLE_SRC, env.APP_PATH ) }}
|
|
|
|
- uses: mobile-dev-inc/action-maestro-cloud@v1.8.0
|
|
id: upload
|
|
with:
|
|
api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }}
|
|
app-file: ${{ env.APP_PATH }}
|
|
mapping-file: ${{ env.APP_PATH }}.dSYM
|
|
include-tags: ios
|
|
|
|
- name: Upload logs when workflow failed
|
|
uses: actions/upload-artifact@v3
|
|
if: failure()
|
|
with:
|
|
name: BuildLogs
|
|
path: |
|
|
xcodebuild.log
|
|
DerivedData/Logs/Test/*.xcresult
|
|
|
|
# Step can be removed when this is fixed:
|
|
# https://github.com/mobile-dev-inc/action-maestro-cloud/issues/28
|
|
- name: Check for maestro errors
|
|
run: |
|
|
if [[ "$MAESTRO_CLOUD_FLOW_RESULTS" == *"ERROR"* || "$MAESTRO_CLOUD_FLOW_RESULTS" == *"CANCELED"* ]]; then
|
|
echo "One or more tests failed or were canceled."
|
|
exit 1
|
|
fi
|
|
env:
|
|
MAESTRO_CLOUD_FLOW_RESULTS: ${{ steps.upload.outputs.MAESTRO_CLOUD_FLOW_RESULTS }}
|
|
|
|
#temp
|