---
format_version: '6'
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
project_type: android
trigger_map:
- push_branch: "*"
  workflow: primary
- pull_request_source_branch: "*"
  workflow: primary
workflows:
  deploy:
    description: |
      ## How to get a signed APK

      This workflow contains the **Sign APK** step. To sign your APK all you have to do is to:

      1. Click on **Code Signing** tab
      1. Find the **ANDROID KEYSTORE FILE** section
      1. Click or drop your file on the upload file field
      1. Fill the displayed 3 input fields:
       1. **Keystore password**
       1. **Keystore alias**
       1. **Private key password**
      1. Click on **[Save metadata]** button

      That's it! From now on, **Sign APK** step will receive your uploaded files.

      ## To run this workflow

      If you want to run this workflow manually:

      1. Open the app's build list page
      2. Click on **[Start/Schedule a Build]** button
      3. Select **deploy** in **Workflow** dropdown input
      4. Click **[Start Build]** button

      Or if you need this workflow to be started by a GIT event:

      1. Click on **Triggers** tab
      2. Setup your desired event (push/tag/pull) and select **deploy** workflow
      3. Click on **[Done]** and then **[Save]** buttons

      The next change in your repository that matches any of your trigger map event will start **deploy** workflow.
    steps:
    - cache-pull@2.0.1: {}
    - script@1.1.5:
        title: Install newer cmake
        inputs:
            - content: |-
                #!/bin/bash
                set -ex
                sudo apt remove cmake -y
                sudo apt purge --auto-remove cmake -y
                sudo apt install ninja-build -y
                version=3.8
                build=2
                mkdir ~/temp
                cd ~/temp
                wget https://cmake.org/files/v$version/cmake-$version.$build-Linux-x86_64.sh
                sudo mkdir /opt/cmake
                sudo sh cmake-$version.$build-Linux-x86_64.sh --prefix=/opt/cmake --skip-license --exclude-subdir
                envman add --key PATH --value "/opt/cmake/bin:$PATH"
    - install-missing-android-tools@2.3.3:
        inputs:
        - gradlew_path: "$PROJECT_LOCATION/gradlew"
    - change-android-versioncode-and-versionname@1.1.1:
        inputs:
        - build_gradle_path: "$PROJECT_LOCATION/$MODULE/build.gradle"
    - android-lint@0.9.5:
        inputs:
        - project_location: "$PROJECT_LOCATION"
        - module: "$MODULE"
        - variant: "$TEST_VARIANT"
    - android-unit-test@0.9.3:
        inputs:
        - project_location: "$PROJECT_LOCATION"
        - module: "$MODULE"
        - variant: "$TEST_VARIANT"
    - android-build@0.9.5:
        inputs:
        - project_location: "$PROJECT_LOCATION"
        - module: "$MODULE"
        - variant: "$BUILD_VARIANT"
    - sign-apk@1.2.3:
        run_if: '{{getenv "BITRISEIO_ANDROID_KEYSTORE_URL" | ne ""}}'
    - deploy-to-bitrise-io@1.3.18: {}
    - cache-push@2.0.5: {}
  primary:
    steps:
    - cache-pull@2.0.1: {}
    - script@1.1.5:
        title: Install newer cmake
        inputs:
            - content: |-
                #!/bin/bash
                set -ex
                sudo apt remove cmake -y
                sudo apt purge --auto-remove cmake -y
                sudo apt install ninja-build -y
                version=3.8
                build=2
                mkdir ~/temp
                cd ~/temp
                wget https://cmake.org/files/v$version/cmake-$version.$build-Linux-x86_64.sh
                sudo mkdir /opt/cmake
                sudo sh cmake-$version.$build-Linux-x86_64.sh --prefix=/opt/cmake --skip-license --exclude-subdir
                envman add --key PATH --value "/opt/cmake/bin:$PATH"
    - install-missing-android-tools@2.3.3:
        inputs:
            - gradlew_path: "$PROJECT_LOCATION/gradlew"
    - android-lint@0.9.5:
        inputs:
        - project_location: "$PROJECT_LOCATION"
        - module: "$MODULE"
        - variant: "$TEST_VARIANT"
    - android-build@0.9.5:
        inputs:
        - variant: Debug
        - project_location: "$PROJECT_LOCATION"
    - deploy-to-bitrise-io@1.3.18: {}
    - cache-push@2.0.5: {}
app:
  envs:
  - opts:
      is_expand: false
    PROJECT_LOCATION: src/android
  - opts:
      is_expand: false
    MODULE: app
  - opts:
      is_expand: false
    BUILD_VARIANT: Release
  - opts:
      is_expand: false
    TEST_VARIANT: Debug