Skip to content

chore(suite-native, e2e): fix debug E2E tests by patching expo-updates #11

chore(suite-native, e2e): fix debug E2E tests by patching expo-updates

chore(suite-native, e2e): fix debug E2E tests by patching expo-updates #11

name: "[Build] suite-native preview"
on:
push:
# push develop(default) branch is necessary for this action to update its fingerprint database
branches: [develop]
pull_request:
types: [opened, synchronize, labeled]
paths:
- "suite-native/**"
- "suite-common/**"
- "packages/react-native-usb/**"
- "packages/transport-native/**"
- "yarn.lock"
- ".github/workflows/build-suite-native-preview.yml"
# list of paths is not complete, but it's always possible to dispatch manually using 'build-mobile' label
workflow_dispatch:
# manual dispatch will not add any comment to PR, use label 'build-mobile' if PR exists
jobs:
update:
if: ( github.event.action != 'labeled' || contains(github.event.pull_request.labels.*.name, 'build-mobile')) && (github.repository == 'trezor/trezor-suite' || github.repository == 'trezor/trezor-suite-private')
name: EAS Update
runs-on: ubuntu-latest
concurrency: fingerprint-${{ github.workflow }}-${{ github.head_ref || github.run_id }}
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
EXPO_PUBLIC_ENVIRONMENT: preview
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
COMMIT_HASH: ${{ github.sha }}
permissions:
contents: read
pull-requests: write
actions: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: yarn
- name: Setup EAS
uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN_DEVELOP }}
- name: Install libs
run: yarn workspaces focus @suite-native/app
- name: Check runtimeVersion builds
run: |
cd suite-native/app
# Read runtimeVersion from dynamic app.json
RUNTIME_VERSION=$(npx expo config --json | jq -r '.runtimeVersion')
echo "Current runtimeVersion is $RUNTIME_VERSION"
# Check if there is a build with the same runtimeVersion on EAS already
EXISTING_BUILD=$(eas build:list --status=finished --build-profile=preview --channel=preview --limit=1 --non-interactive --json --runtime-version=$RUNTIME_VERSION)
if [ "$EXISTING_BUILD" = "[]" ]; then
echo "No build with runtimeVersion $RUNTIME_VERSION found"
echo "RUNTIME_BUILD_EXISTS=false" >> $GITHUB_ENV
else
echo "Found build with runtimeVersion $RUNTIME_VERSION"
echo "$EXISTING_BUILD"
echo "RUNTIME_BUILD_EXISTS=true" >> $GITHUB_ENV
fi
- name: Create preview builds if fingerprint changed
# Only create preview builds if there is no build with the same runtimeVersion on EAS already
if: env.RUNTIME_BUILD_EXISTS == 'false'
uses: expo/expo-github-action/preview-build@main
with:
command: eas build --profile preview --platform all
working-directory: suite-native/app
- name: Build message system config
run: yarn message-system-sign-config
- name: Create preview update
uses: expo/expo-github-action/preview@v8
with:
command: eas update --auto --branch ${{ env.BRANCH_NAME }}
working-directory: suite-native/app