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