These docs are for v1.0. Click to read the latest docs for v2.0.

GitHub Actions

Waldo integration with GitHub Actions requires you only to add the Upload to Waldo action to your workflow:

jobs:
  build:
    steps:
      #...
      #... (generate .app and save path as APP_PATH to $GITHUB_ENV)
      #...

      - name: Upload build to Waldo
        uses: waldoapp/gh-action-upload@v1
        with:
          build_path: ${{ env.APP_PATH }}
          upload_token: ${{ secrets.WALDO_UPLOAD_TOKEN }}

Important: If you use the Checkout V2 or V3 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.

Note: The value you supply to the upload_token input should be specified as a “secret” environment variable by going to the GitHub Settings tab in your repository, selecting the Secrets Actions menu, and assigning your upload token to WALDO_UPLOAD_TOKEN. (Your app’s upload token is 0123456789abcdef0123456789abcdef.)

Complete workflow example

Here is a complete example workflow that checks out the source code for an app from git, builds the app with Xcode, and uploads the simulator build to Waldo:

name: Build and upload ExampleApp

on:
  pull_request:
    branches:
      - main
  push:
    branches:
      - main
  workflow_dispatch:

jobs:
  build-and-upload-sim:
    name: Build and upload (simulator)
    runs-on: macos-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: Build with Xcode
        run: |
          DERIVED_DATA_PATH=/tmp/ExampleApp-$(uuidgen)

          xcodebuild -project ExampleApp.xcodeproj                  \
                     -scheme ExampleApp                             \
                     -configuration Release                         \
                     -destination 'generic/platform=iOS Simulator'  \
                     -derivedDataPath "$DERIVED_DATA_PATH"          \
                     clean build

          echo "APP_DIR_PATH=${DERIVED_DATA_PATH}/Build/Products/Release-iphonesimulator/ExampleApp.app" >>$GITHUB_ENV
      - name: Upload build to Waldo
        uses: waldoapp/gh-action-upload@v1
        with:
          build_path: ${{ env.APP_DIR_PATH }}
          upload_token: ${{ secrets.WALDO_UPLOAD_TOKEN_SIM }}
          is_debug_mode: true