name: Build Development on: push: branches: - develop workflow_dispatch: jobs: android: runs-on: ubuntu-latest timeout-minutes: 45 if: "!contains(github.event.head_commit.message, 'skip ci')" steps: - name: Checkout code uses: actions/checkout@v2 - name: Export version from package.json run: | echo "PACKAGE_VERSION=$(grep '"version"' package.json | cut -d '"' -f 4)" >> $GITHUB_ENV - name: Setup react-native kernel and increase watchers run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p - name: Decode Dev Android keystore run: | echo "${{ secrets.DEV_KEYSTORE }}" > keystore.keystore.asc gpg -d --passphrase "${{ secrets.DEV_KEYSTORE_PASSPHRASE }}" --batch keystore.keystore.asc > android/app/keystore.keystore - name: Ruby Setup for Fastlane uses: ruby/setup-ruby@v1 - name: Install dependencies run: yarn install - name: fastlane uses: maierj/fastlane-action@v1.4.0 env: PACKAGE_VERSION: ${{ env.PACKAGE_VERSION }} BUILD_NUMBER: ${{ github.run_number }} ANDROID_KEYSTORE_ALIAS: ${{ secrets.DEV_ANDROID_KEYSTORE_ALIAS }} ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD: ${{ secrets.DEV_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD }} ANDROID_KEYSTORE_PASSWORD: ${{ secrets.DEV_ANDROID_KEYSTORE_PASSWORD }} GOOGLE_PLAY_JSON_KEY_DATA: ${{ secrets.GOOGLE_PLAY_JSON_KEY_DATA }} with: lane: 'android dev' - name: Upload universal apk to artifacts uses: actions/upload-artifact@v2 with: name: dev.apk path: android/app/build/outputs/apk/dev/release/app-dev-release.apk ios: runs-on: macos-11 timeout-minutes: 90 if: "!contains(github.event.head_commit.message, 'skip ci')" steps: - name: Checkout code uses: actions/checkout@v2 - name: Export version from package.json run: | echo "PACKAGE_VERSION=$(grep '"version"' package.json | cut -d '"' -f 4)" >> $GITHUB_ENV - name: Set longer yarn timeout run: yarn config set network-timeout 300000 - name: Ruby Setup for Fastlane uses: ruby/setup-ruby@v1 - name: Install dependencies run: yarn run init - name: Set ssh connection to Github uses: webfactory/ssh-agent@v0.4.1 with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: Export Apple AppStore Connect API key run: echo "${{ secrets.APPSTORE_CONNECT_KEY }}" > ios/Authkey.p8 - name: Setup fastlane uses: maierj/fastlane-action@v1.4.0 env: FASTLANE_USER: ${{ secrets.FASTLANE_USER }} APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} with: lane: 'ios setup' - name: fastlane uses: maierj/fastlane-action@v1.4.0 env: PACKAGE_VERSION: ${{ env.PACKAGE_VERSION }} APPLE_APP_ID: ${{ secrets.DEV_APP_APPLE_ID }} APPSTORE_CONNECT_KEY_ID: ${{ secrets.APPSTORE_CONNECT_KEY_ID }} APPSTORE_CONNECT_KEY_ISSUER_ID: ${{ secrets.APPSTORE_CONNECT_KEY_ISSUER_ID }} FASTLANE_USER: ${{ secrets.FASTLANE_USER }} FASTLANE_SESSION: ${{ secrets.FASTLANE_SESSION }} APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} MATCH_CERTIFICATES_URL: ${{ secrets.MATCH_CERTIFICATES_URL }} MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }} MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }} BUILD_NUMBER: ${{ github.run_number }} with: lane: 'ios dev'