name: Mobile TestFlight on: push: tags: - '*standardnotes/mobile*' workflow_dispatch: jobs: android: defaults: run: working-directory: packages/mobile runs-on: ubuntu-latest timeout-minutes: 45 steps: - name: Checkout code uses: actions/checkout@v3 - name: Export version from package.json run: | echo "PACKAGE_VERSION=$(grep '"version"' ../web/package.json | cut -d '"' -f 4 | cut -d "-" -f 1)" >> $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 --immutable - run: yarn build:mobile - 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' subdirectory: 'packages/mobile' - name: get-npm-version id: package-version uses: martinbeentjes/npm-get-version-action@main with: path: packages/mobile ios: env: ITMSTRANSPORTER_FORCE_ITMS_PACKAGE_UPLOAD: true defaults: run: working-directory: packages/mobile runs-on: macos-11 timeout-minutes: 90 steps: - name: Checkout code uses: actions/checkout@v3 - name: Export version from package.json run: | echo "PACKAGE_VERSION=$(grep '"version"' ../web/package.json | cut -d '"' -f 4 | cut -d "-" -f 1)" >> $GITHUB_ENV - name: Ruby Setup for Fastlane uses: ruby/setup-ruby@v1 - name: Install dependencies run: yarn install --immutable && yarn install:pods - run: yarn build:mobile - 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' subdirectory: 'packages/mobile' - 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' subdirectory: 'packages/mobile'