---
format_version: 1.3.1
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
app:
  envs:
  - opts:
      is_expand: true
    FASTLANE_XCODE_LIST_TIMEOUT: '0'
  - opts:
      is_expand: true
    MATCH_READONLY: 'true'
  - opts:
      is_expand: true
    PRODUCE_SKIP_ITC: 'true'
  - opts:
      is_expand: true
    PRODUCE_SKIP_DEVCENTER: 'true'
  - opts:
      is_expand: true
    REACT_NATIVE_DIRECTORY: "./<%= reactNativeDirectory %>"
workflows:
  HockeyApp:
    steps:
    - script@1.1.3:
        title: Set Gem home for cache purposes
        inputs:
        - content: |-
            #!/bin/bash
            pwd
            set -ev
            envman add --key GEM_HOME --value "$(gem environment gemdir)"
    - activate-ssh-key@3.1.1:
        title: Activate App SSH key
        inputs:
        - ssh_key_save_path: "$HOME/.ssh/steplib_ssh_step_id_rsa"
    - git-clone@3.4.1: {}
    - cache-pull@0.9.2:
        is_always_run: true
    - nvm@1.0.1:
        inputs:
        - node_version: 6.9.4
    - yarn@0.0.3:
        deps:
          brew:
          - name: yarn
        inputs:
        - workdir: "$BITRISE_SOURCE_DIR/$REACT_NATIVE_DIRECTORY"
        - command: ''
        - args: ''
    - yarn@0.0.3:
        inputs:
        - command: test
        - args: ''
    - script@1.1.3:
        title: Install bundles
        inputs:
        - content: |-
            #!/bin/bash
            bundle install
        - working_dir: "$REACT_NATIVE_DIRECTORY"
    - script@1.1.3:
        title: Deploy Android App to HockeyApp
        inputs:
        - content: |-
            #!/bin/bash
            bundle exec fastlane android deploy --env=staging
        - working_dir: "$REACT_NATIVE_DIRECTORY"
    - script@1.1.3:
        title: Deploy iOS to Hockey App
        inputs:
        - content: |-
            #!/bin/bash
            bundle exec fastlane ios deploy --env=staging
        - working_dir: "$REACT_NATIVE_DIRECTORY"
    - cache-push@0.9.4:
        inputs:
        - cache_paths: |-
            ./$REACT_NATIVE_DIRECTORY/node_modules -> ./$REACT_NATIVE_DIRECTORY/yarn.lock
            $HOME/.nvm -> $HOME/.nvm/package.json
            $HOME/.gradle
            ./$REACT_NATIVE_DIRECTORY/android/.gradle
            $GEM_HOME -> ./$REACT_NATIVE_DIRECTORY/Gemfile.lock
            ./$REACT_NATIVE_DIRECTORY/ios/Pods -> ./$REACT_NATIVE_DIRECTORY/ios/Podfile.lock
            jest/tmp
        - ignore_check_on_paths: |-
            $HOME/.gradle/*.lock
            $HOME/.gradle/*.bin
            $HOME/.gradle/*.log

            ./$REACT_NATIVE_DIRECTORY/android/.gradle/*.lock
            ./$REACT_NATIVE_DIRECTORY/android/.gradle/*.bin
  Pre-production:
    steps:
    - script@1.1.3:
        title: Set Gem home for cache purposes
        inputs:
        - content: |-
            #!/bin/bash
            pwd
            set -ev
            envman add --key GEM_HOME --value "$(gem environment gemdir)"
    - activate-ssh-key@3.1.1:
        title: Activate App SSH key
        inputs:
        - ssh_key_save_path: "$HOME/.ssh/steplib_ssh_step_id_rsa"
    - git-clone@3.4.1: {}
    - cache-pull@0.9.2:
        is_always_run: true
    - nvm@1.0.1:
        inputs:
        - node_version: 6.9.4
    - yarn@0.0.3:
        deps:
          brew:
          - name: yarn
        inputs:
        - workdir: "$BITRISE_SOURCE_DIR/$REACT_NATIVE_DIRECTORY"
        - command: ''
        - args: ''
    - yarn@0.0.3:
        inputs:
        - command: test
        - args: ''
    - script@1.1.3:
        title: Install bundles
        inputs:
        - content: |-
            #!/bin/bash
            bundle install
        - working_dir: "$REACT_NATIVE_DIRECTORY"<% if (androidProdAppId) { %>
    - script@1.1.3:
        title: Build Android App
        inputs:
        - content: |-
            #!/bin/bash
            bundle exec fastlane android deploy --env=prod
        - working_dir: "$REACT_NATIVE_DIRECTORY"
    - google-play-deploy@1.1.0:
        inputs:
        - service_account_json_key_path: "$BITRISEIO_GOOGLE_KEY_URL"
        - package_name: "<%= androidProdAppId %>"
        - apk_path: "$REACT_NATIVE_DIRECTORY/android/app/build/outputs/apk/app-release.apk"
        - track: beta
        - whatsnews_dir: ''
        - service_account_email: ''
            - key_file_path: ''<% } %>
    - script@1.1.3:
        title: Deploy iOS to TestFlight
        inputs:
        - content: |-
            #!/bin/bash
            bundle exec fastlane ios deploy --env=prod
        - working_dir: "$REACT_NATIVE_DIRECTORY"
    - cache-push@0.9.4:
        inputs:
        - cache_paths: |-
            ./$REACT_NATIVE_DIRECTORY/node_modules -> ./$REACT_NATIVE_DIRECTORY/yarn.lock
            $HOME/.nvm -> $HOME/.nvm/package.json
            $HOME/.gradle
            ./$REACT_NATIVE_DIRECTORY/android/.gradle
            $GEM_HOME -> ./$REACT_NATIVE_DIRECTORY/Gemfile.lock
            ./$REACT_NATIVE_DIRECTORY/ios/Pods -> ./$REACT_NATIVE_DIRECTORY/ios/Podfile.lock
            jest/tmp
        - ignore_check_on_paths: |-
            $HOME/.gradle/*.lock
            $HOME/.gradle/*.bin
            $HOME/.gradle/*.log

            ./$REACT_NATIVE_DIRECTORY/android/.gradle/*.lock
            ./$REACT_NATIVE_DIRECTORY/android/.gradle/*.bin
  Test:
    steps:
    - activate-ssh-key@3.1.1:
        title: Activate App SSH key
        inputs:
        - ssh_key_save_path: "$HOME/.ssh/steplib_ssh_step_id_rsa"
    - git-clone@3.4.1: {}
    - cache-pull@0.9.2:
        is_always_run: true
    - nvm@1.0.1:
        inputs:
        - node_version: 6.9.4
    - yarn@0.0.3:
        deps:
          brew:
          - name: yarn
        inputs:
        - workdir: "$BITRISE_SOURCE_DIR/$REACT_NATIVE_DIRECTORY"
        - command: ''
        - args: ''
    - yarn@0.0.3:
        inputs:
        - command: test
        - args: ''
trigger_map:
- pull_request_target_branch: staging
  workflow: Test
- push_branch: staging
  workflow: HockeyApp
- push_branch: master
  workflow: Pre-production
