Android CI upload

Fastlane

Waldo integration with Fastlane requires you only to add the Waldo plugin to your project:

$ fastlane add_plugin waldo

Next, build a new APK for your app. If you use gradle to build your APK, waldo will automatically find and upload the generated APK.

gradle(task: 'assemble',
       build_type: 'Release')

waldo(upload_token: '0123456789abcdef0123456789abcdef')

Note: You must specify the Waldo upload token.

If you do not use gradle to build your APK, you will need to explicitly specify the APK path to waldo:

waldo(upload_token: '0123456789abcdef0123456789abcdef',
      apk_path: '/path/to/YourApp.apk')

App Center

Waldo integration with App Center requires you only to add a couple of custom build steps.

Add the following to appcenter-post-clone.sh:

WALDO_CLI_BIN=/usr/local/bin
WALDO_CLI_URL=https://github.com/waldoapp/waldo-cli/releases/download/1.6.6

curl -fLs ${WALDO_CLI_URL}/waldo > ${WALDO_CLI_BIN}/waldo
chmod +x ${WALDO_CLI_BIN}/waldo

Add the following to appcenter-post-build.sh:

WALDO_CLI_BIN=/usr/local/bin

export WALDO_UPLOAD_TOKEN=0123456789abcdef0123456789abcdef

BUILD_PATH=${APPCENTER_OUTPUT_DIRECTORY}/YourApp.apk

${WALDO_CLI_BIN}/waldo "$BUILD_PATH"

Bitrise

Waldo integration with Bitrise requires you only to add a Waldo Upload step to your workflow.

First, build a new APK for your app. When you use the Android Build step to build your APK, output variables are generated that you can then use as input to the Waldo Upload step to find and upload the generated APK.

workflows:
  primary:
    steps:
    #...
    - android-build: {}
    - waldo-upload:
        inputs:
        - build_path: $BITRISE_APK_PATH
        - upload_token: $WALDO_UPLOAD_TOKEN    # from your secrets
    #...

Note: The value you supply to the upload_token input should be specified as a “secret” environment variable by going to the Secrets tab in the Bitrise Workflow Editor and assigning your upload token to WALDO_UPLOAD_TOKEN.

CircleCI

Waldo integration with CircleCI requires you only to add a couple of steps to your configuration:

jobs:
  build:
    steps:
      - run:
        name: Download Waldo CLI
        command: |
          curl -fLs ${WALDO_CLI_URL}/waldo > .circleci/waldo
          chmod +x .circleci/waldo
        environment:
          WALDO_CLI_URL: https://github.com/waldoapp/waldo-cli/releases/download/1.6.6

      #...
      #... (generate .apk)
      #...

      - run:
        name: Upload build to Waldo
        command: .circleci/waldo "$WALDO_BUILD_PATH"
        environment:
          WALDO_UPLOAD_TOKEN: 0123456789abcdef0123456789abcdef
          WALDO_BUILD_PATH: /path/to/YourApp.apk

GitHub Actions

Waldo integration with GitHub Actions requires you only to add an extra step to your workflow:

jobs:
  build:
    steps:
      #...
      #... (generate .apk)
      #...

      - name: Upload build to Waldo
        env:
          WALDO_BUILD_PATH: /path/to/YourApp.apk
          WALDO_CLI_BIN: /usr/local/bin
          WALDO_UPLOAD_TOKEN: 0123456789abcdef0123456789abcdef
        run: |
          if [ ! -e ${WALDO_CLI_BIN}/waldo ]; then
            curl -fLs https://github.com/waldoapp/waldo-cli/releases/download/1.6.6/waldo > ${WALDO_CLI_BIN}/waldo
            chmod +x ${WALDO_CLI_BIN}/waldo
          fi

          ${WALDO_CLI_BIN}/waldo "$WALDO_BUILD_PATH"

Important: If you use the Checkout V2 action in your workflow, you must set fetch-depth: 0. Otherwise, Waldo CLI will not be able to correctly identify the git commit and branch associated with your build.

Travis CI

Waldo integration with Travis CI requires you only to add a few steps to your .travis.yml:

env:
  global:
    - WALDO_CLI_BIN=/usr/local/bin
    - WALDO_CLI_URL=https://github.com/waldoapp/waldo-cli/releases/download/1.6.6
    - WALDO_UPLOAD_TOKEN=0123456789abcdef0123456789abcdef
install:
  - curl -fLs ${WALDO_CLI_URL}/waldo > ${WALDO_CLI_BIN}/waldo
  - chmod +x ${WALDO_CLI_BIN}/waldo
script:
  #...
  #... Build your APK
  #...
  - ${WALDO_CLI_BIN}/waldo "/path/to/YourApp.apk"

Custom upload

If you are building outside of CI/CD or in another CI provider, you can also upload your Android build manually using Waldo CLI.

WALDO_CLI_BIN=/usr/local/bin

if [ ! -e ${WALDO_CLI_BIN}/waldo ]; then
  WALDO_CLI_URL=https://github.com/waldoapp/waldo-cli/releases/download/1.6.6
  curl -fLs ${WALDO_CLI_URL}/waldo > ${WALDO_CLI_BIN}/waldo
  chmod +x ${WALDO_CLI_BIN}/waldo
fi

#...
#... (generate .apk)
#...

export WALDO_UPLOAD_TOKEN=0123456789abcdef0123456789abcdef

BUILD_PATH=/path/to/YourApp.apk

${WALDO_CLI_BIN}/waldo "$BUILD_PATH"