---
name: MacOS

'on':
  push:
    branches:
      - master
    paths-ignore:
      - 'buildandroid/**'
  pull_request:
    branches:
      - master
    paths-ignore:
      - 'buildandroid/**'
  workflow_dispatch:
    branches:
      - master
    paths-ignore:
      - 'buildandroid/**'


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

jobs:
  build:
    runs-on: ${{ matrix.runner }}
    name: ${{ matrix.name }}
    strategy:
      fail-fast: false
      matrix:
        include:
          # - name: macOS latest Homebrew wxOSX
          #   runner: macos-12
          #   cmake_generator: Xcode
          #   cmake_defines: -DCMAKE_CXX_STANDARD=11
          #   use_homebrew: 1
          #- name: macOS 11 wxOSX
          #  runner: macos-12
          #  pkg_mod: 11
          #  MACOSX_DEPLOYMENT_TARGET: 10.13
          - name: macOS Latest wxOSX
            runner: macos-latest
            pkg_mod: 11
            MACOSX_DEPLOYMENT_TARGET: 10.15
            CREATE_DMG: 1
          - name: macOS 14 wxOSX
            runner: macos-14
            pkg_mod: 11
            MACOSX_DEPLOYMENT_TARGET: 11
            CREATE_DMG: 1
    env:
      wxGTK_VERSION: ${{ matrix.gtk_version && matrix.gtk_version || 3 }}
      pkg_mod: ${{ matrix.pkg_mod }}
      MACOSX_DEPLOYMENT_TARGET: ${{ matrix.MACOSX_DEPLOYMENT_TARGET }}

    # Use bash as shell
    defaults:
      run:
        shell: bash

    steps:
      - uses: actions/checkout@v3
        with:
          submodules: 'recursive'

      #- name: Before build
      #  run: ./ci/github-pre-build.sh
      #  env:
      #    USE_HOMEBREW: ${{ matrix.use_homebrew && matrix.use_homebrew || 0 }}

      # required for CMake to find Ninja
      - name: Configure and Build
        run: ci/generic-build-macos.sh

      - name: Test
        run: cd build && make run-tests

      #- name: Upload
      #  env:
      #    CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
      #  run: ci/generic-upload.sh
...
