name: macOS-brew

permissions:
  contents: read
  pull-requests: write

on:
  push:
    paths-ignore:
      - 'README.md'
      - 'doc/**'
  pull_request:
    paths-ignore:
      - 'README.md'
      - 'doc/**'

env:
  # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
  BUILD_TYPE: Release

jobs:

  build-ctl-using-brew:

    runs-on: macos-latest

    steps:
    
    - name: update homebrew
      run:  brew update

    - name: clean homebrew cache
      run:  brew cleanup --prune=all

    - name: install libtiff 
      run:  brew install libtiff 

    - name: install openexr 
      run:  brew install openexr 

    - name: install aces_container
      run:  brew install aces_container 

    - uses: actions/checkout@v4

    - name: Configure CMake
      # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
      # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
      run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}

    - name: Build
      # Build your program with the given configuration
      run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

  build-and-test-using-brew:

    runs-on: macos-latest

    steps:

    - name: update homebrew
      run:  brew update

    - name: clean homebrew cache
      run:  brew cleanup --prune=all

    - name: install libtiff 
      run:  brew install libtiff 

    - name: install openexr 
      run:  brew install openexr 

    - name: install aces_container
      run:  brew install aces_container

    - uses: actions/checkout@v4

    - name: Configure CMake
      # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
      # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
      run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}

    - name: Build
      # Build your program with the given configuration
      run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
    
    - name: Test
      working-directory: ${{github.workspace}}/build
      # Execute tests defined by the CMake configuration.  
      # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
      run: ctest -V --output-on-failure

  install-using-brew:

    runs-on: macos-latest

    steps:
      
    - name: update homebrew
      run:  brew update

    - name: clean homebrew cache
      run:  brew cleanup --prune=all

    - name: install ctl 
      run:  brew install ctl 
