name: osx
on:
  push:
    branches:
      - osx-workflow
jobs:
  compile:
    runs-on: macos-latest
    env:
      OF_URL: https://openframeworks.cc/versions/v0.11.0/of_v0.11.0_osx_release.zip
    steps:
      - name: Fetch ofxPiMapper
        uses: actions/checkout@v2
        with:
          fetch-depth: 1
      - name: Download openFrameworks and add ofxPiMapper to addons
        run: |
          mkdir .ofxPiMapper
          mv ./* .ofxPiMapper/
          wget ${OF_URL} --tries=10 --quiet
          echo "Unarchive openFrameworks"
          OF_ARCHIVE_NAME=$(basename -- "$OF_URL")
          unzip ${OF_ARCHIVE_NAME}
          rm ${OF_ARCHIVE_NAME}
          OF_EXTRACT_NAME=$(basename ${OF_ARCHIVE_NAME} .zip)
          mv ${OF_EXTRACT_NAME} openFrameworks
          mv .ofxPiMapper openFrameworks/addons/ofxPiMapper
      - name: Install Dependencies
        run: |
          set -ev
          brew update
          brew install gdb
          brew install coreutils
          xcode-select --install
      - name: Compile openFrameworks
        working-directory: ./openFrameworks/scripts/templates/osx
        run: make
      - name: Compile example_basic
        working-directory: ./openFrameworks/addons/ofxPiMapper/example_basic
        run: mv addons.make.norpi addons.make && make
      - name: Compile example_camera
        working-directory: ./openFrameworks/addons/ofxPiMapper/example_camera
        run: mv addons.make.norpi addons.make && make
      - name: Compile example_fbo-sources
        working-directory: ./openFrameworks/addons/ofxPiMapper/example_fbo-sources
        run: mv addons.make.norpi addons.make && make
      - name: Compile example_pocketvj
        working-directory: ./openFrameworks/addons/ofxPiMapper/example_pocketvj
        run: mv addons.make.norpi addons.make && make
      - name: Install ofxJSON dependency
        working-directory: ./openFrameworks/addons/
        run: git clone https://github.com/jeffcrouse/ofxJSON.git --depth 1
      - name: Compile example_remote-client
        working-directory: ./openFrameworks/addons/ofxPiMapper/example_remote-client
        run: mv addons.make.norpi addons.make && make
      - name: Compile example_remote-server
        working-directory: ./openFrameworks/addons/ofxPiMapper/example_remote-server
        run: mv addons.make.norpi addons.make && make
      - name: Compile example_simpler
        working-directory: ./openFrameworks/addons/ofxPiMapper/example_simpler
        run: mv addons.make.norpi addons.make && make