add swaps entry points + swap validation to e2e #9210
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"] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
steps: | |
- name: Checkout repo | |
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 | |
run: yarn clean:ios > /dev/null 2>&1 || true | |
- name: Set up ENV vars & scripts | |
env: | |
CI_SCRIPTS: ${{ secrets.CI_SCRIPTS }} | |
run: | | |
source ~/.zshrc | |
git clone [email protected]:rainbow-me/rainbow-env.git | |
mv rainbow-env/dotenv .env && rm -rf rainbow-env | |
eval $CI_SCRIPTS | |
sed -i'' -e "s/IS_TESTING=false/IS_TESTING=true/" .env && rm -f .env-e | |
- name: Get Yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT | |
- name: Cache Yarn dependencies | |
uses: actions/cache@v4 | |
with: | |
path: | | |
${{ steps.yarn-cache-dir-path.outputs.dir }} | |
.yarn/cache | |
.yarn/install-state.gz | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install dependencies | |
run: | | |
yarn cache clean --all && yarn install && yarn setup | |
- name: Check for frozen lockfile | |
run: ./scripts/check-lockfile.sh | |
- name: Audit CI | |
run: yarn audit-ci --config audit-ci.jsonc | |
- name: Lint | |
run: yarn lint:ci | |
- name: Unit tests | |
run: yarn test | |
- name: Rebuild detox cache | |
run: ./node_modules/.bin/detox clean-framework-cache && ./node_modules/.bin/detox build-framework-cache | |
- name: Version debug | |
run: | | |
npx react-native info | |
- name: Install pods | |
run: yarn install-bundle && yarn install-pods | |
- name: Fix permissions | |
run: | | |
chmod -R +x node_modules/react-native/scripts | |
chmod -R +x node_modules/@sentry/react-native/scripts | |
- name: Build the app in release mode | |
run: yarn detox build --configuration ios.sim.release | |
# change the '3' here to how many times you want the tests to rerun on failure | |
- name: Run iOS e2e tests with retry | |
run: ./scripts/run-retry-tests.sh 3 |