chore: refactory async-promise-executor #500
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: "[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 |