name: OSX

on:
    push:
        paths-ignore:
            - 'doc/**'
    pull_request:
        paths-ignore:
            - 'doc/**'


concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  cancel-in-progress: true


jobs:
  build:
    name: OSX

    runs-on: 'macos-latest'
    if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
    strategy:
      fail-fast: true
      matrix:
        type: ['current']
    env:
      BUILD_TYPE: ${{ matrix.type }}
    defaults:
      run:
        shell: bash -l {0}

    steps:
    - uses: actions/checkout@v4
    - uses: mamba-org/setup-micromamba@v2
      with:
        init-shell: bash
        environment-file: "scripts/ci/${{ matrix.type }}-environment.yml"
        environment-name: "pdal-build"
        cache-environment: true
        cache-downloads: true

    - name: Setup
      run: |
          source ./scripts/ci/osx/setup.sh

    - name: CMake
      run: |
          source ../scripts/ci/osx/cmake.sh
      working-directory: ./build

    - name: Compile
      run: |
          source ../scripts/ci/osx/compile.sh
      working-directory: ./build

    - name: Test
      run: |
          source ../scripts/ci/osx/test.sh
      working-directory: ./build

    - name: Examples
      run: |
          source ./scripts/ci/osx/examples.sh

