1name: Development Client 2 3on: 4 workflow_dispatch: {} 5 pull_request: 6 paths: 7 - .github/workflows/development-client.yml 8 - packages/expo-dev-*/** 9 10jobs: 11 android: 12 runs-on: ubuntu-18.04 13 steps: 14 - name: Check out repository 15 uses: actions/checkout@v2 16 with: 17 submodules: false 18 - name: Get yarn cache directory path 19 id: yarn-cache-dir-path 20 run: echo "::set-output name=dir::$(yarn cache dir)" 21 - uses: actions/cache@v2 22 with: 23 path: ${{ steps.yarn-cache-dir-path.outputs.dir }} 24 key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} 25 restore-keys: | 26 ${{ runner.os }}-yarn- 27 - run: yarn install --frozen-lockfile 28 - uses: actions/cache@v2 29 with: 30 path: ~/.gradle/caches 31 key: ${{ runner.os }}-gradle-${{ hashFiles('android/*.gradle*') }} 32 restore-keys: | 33 ${{ runner.os }}-gradle- 34 - uses: actions/cache@v2 35 id: cache-android-ndk 36 with: 37 path: /usr/local/lib/android/sdk/ndk/19.2.5345600/ 38 key: ${{ runner.os }}-ndk-19.2.5345600 39 restore-keys: | 40 ${{ runner.os }}-ndk- 41 - name: Install NDK 42 if: steps.cache-android-ndk.outputs.cache-hit != 'true' 43 run: | 44 sudo $ANDROID_HOME/tools/bin/sdkmanager --install "ndk;19.2.5345600" 45 - run: yarn global add expo-cli 46 - run: echo "$(yarn global bin)" >> $GITHUB_PATH 47 - name: Init new expo app 48 working-directory: ../ 49 run: expo-cli init development-client-android-test --name development-client-android-test --yes 50 - name: Add dependencies 51 working-directory: ../development-client-android-test 52 run: yarn add file:../expo/packages/expo-dev-menu file:../expo/packages/expo-dev-menu-interface file:../expo/packages/expo-dev-launcher 53 - name: Setup app.config.json 54 working-directory: ../development-client-android-test 55 run: echo "{\"name\":\"development-client-android-test\",\"plugins\":[\"expo-dev-menu\",\"expo-dev-launcher\"],\"android\":{\"package\":\"com.devclient.test\"},\"ios\":{\"bundleIdentifier\":\"com.devclient.test\"}}" > app.config.json 56 - name: Eject 57 working-directory: ../development-client-android-test 58 run: expo-cli eject 59 - name: Bump `build tools` 60 working-directory: ../development-client-android-test 61 run: sed -i -e 's/buildToolsVersion\ =\ \"29\..\..\"/buildToolsVersion\ = \"30\.0\.3\"/' ./android/build.gradle 62 - name: Bump `android build tools` 63 working-directory: ../development-client-android-test 64 run: sed -i -e 's/com\.android\.tools\.build:gradle:3\..\../com\.android\.tools\.build:gradle:3\.5\.4/' ./android/build.gradle 65 - name: Build debug 66 env: 67 ANDROID_NDK_HOME: /usr/local/lib/android/sdk/ndk/19.2.5345600/ 68 working-directory: ../development-client-android-test/android 69 run: ./gradlew assembleDebug 70 71 ios: 72 runs-on: macos-latest 73 steps: 74 - name: Check out repository 75 uses: actions/checkout@v2 76 with: 77 submodules: false 78 - name: Get yarn cache directory path 79 id: yarn-cache-dir-path 80 run: echo "::set-output name=dir::$(yarn cache dir)" 81 - uses: actions/cache@v2 82 with: 83 path: ${{ steps.yarn-cache-dir-path.outputs.dir }} 84 key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} 85 restore-keys: | 86 ${{ runner.os }}-yarn- 87 - run: yarn install --frozen-lockfile 88 - run: yarn global add expo-cli 89 - run: echo "$(yarn global bin)" >> $GITHUB_PATH 90 - name: Init new expo app 91 working-directory: ../ 92 run: expo-cli init development-client-ios-test --name development-client-ios-test --yes 93 - name: Add dependencies 94 working-directory: ../development-client-ios-test 95 run: yarn add file:../expo/packages/expo-dev-menu file:../expo/packages/expo-dev-menu-interface file:../expo/packages/expo-dev-launcher 96 - name: Setup app.config.json 97 working-directory: ../development-client-ios-test 98 run: echo "{\"name\":\"development-client-ios-test\",\"plugins\":[\"expo-dev-menu\",\"expo-dev-launcher\"],\"android\":{\"package\":\"com.devclient.test\"},\"ios\":{\"bundleIdentifier\":\"com.devclient.test\"}}" > app.config.json 99 - name: Eject 100 working-directory: ../development-client-ios-test 101 run: expo-cli eject 102 - name: Build debug 103 working-directory: ../development-client-ios-test 104 run: xcodebuild -workspace ios/developmentclientiostest.xcworkspace -scheme developmentclientiostest -configuration debug -sdk iphonesimulator -arch x86_64 105