test e2e #7396
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: iOS e2e tests | |
on: [pull_request, workflow_dispatch] | |
jobs: | |
ios-e2e: | |
runs-on: ["self-hosted"] | |
# Cancel current builds if there's a newer commit on the same branch | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up github keys | |
run: git config core.sshCommand "ssh -i ~/.ssh/id_ed25519 -F /dev/null" | |
- name: clean ios app step | |
run: yarn clean:ios > /dev/null 2>&1 || true | |
- name: Set up ENV vars & scripts | |
run: | | |
# read local env vars | |
source ~/.bashrc | |
# fetch env vars | |
git clone [email protected]:rainbow-me/rainbow-env.git | |
# unpack dotenv | |
mv rainbow-env/dotenv .env && rm -rf rainbow-env | |
# run CI scripts | |
eval $CI_SCRIPTS | |
# tweak dotenv for e2e | |
sed -i''-e "s/\IS_TESTING=false/IS_TESTING=true/" .env && rm -f .env-e | |
- name: Install deps via Yarn | |
run: yarn setup-ci | |
- name: Check for frozen lockfile | |
run: yarn check-lockfile | |
- name: Audit CI | |
run: yarn audit-ci --config audit-ci.jsonc | |
- name: Lint | |
run: yarn lint:ci | |
- name: Install Pods | |
run: yarn install-pods | |
- name: Rebuild detox cache | |
run: ./node_modules/.bin/detox clean-framework-cache && ./node_modules/.bin/detox build-framework-cache | |
- name: Remove old Detox artifacts | |
run: rm -rf ./artifacts/ | |
- name: Build the app in release mode | |
run: ./node_modules/.bin/detox build --configuration ios.sim.release | |
- name: Run iOS e2e tests with retry | |
# change the '5' here to how many times you want the tests to rerun on failure | |
run: ./scripts/run-retry-tests.sh 5 | |
- name: Upload Test Artifacts | |
if: failure() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: detox-artifacts | |
path: artifacts/** | |