name: macos-latest Development Build

on:
  workflow_dispatch:

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

jobs:
  build:
    # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
    # You can convert this to a matrix build if you need cross-platform coverage.
    # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
    runs-on: macos-latest

    steps:
      - uses: actions/checkout@v3

      - name: Install dependencies
        run: |
          export \
            HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 \
            HOMEBREW_NO_INSTALL_CLEANUP=1
          brew update > /dev/null
          brew install \
            cmake ninja

      - name: Setup ccache
        uses: Chocobo1/setup-ccache-action@v1
        with:
          update_packager_index: false

      - name: Install Qt
        uses: jurplel/install-qt-action@v3
        with:
          version: 6.*
          install-deps: 'true'
          modules: 'qtcharts'

      - name: Where am I
        run: |
          pwd
          ls -l

      - name: Tool versions
        run: |
            g++ --version
            cmake --version

      - 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: |
          cd src
          cmake -B ${{github.workspace}}/src/build -DQTVERSION=QT6 -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}

      - name: Build
        # Build your program with the given configuration
        run: |
          cd src
          cmake --build ${{github.workspace}}/src/build --config ${{env.BUILD_TYPE}} --target seergdb --parallel 4

      - name: Tar
        run: |
          cd src/build
          cp ../../LICENSE .
          cp ../../CHANGELOG.md .
          tar zcvf seergdb.tar.gz LICENSE CHANGELOG.md seergdb

      - name: List Results
        run: |
          cd src
          ls -l build/

      - name: Build MacOS Development Release
        uses: marvinpinto/action-automatic-releases@latest
        with:
          repo_token: ${{ secrets.GITHUB_TOKEN }}
          automatic_release_tag: "macos-latest"
          prerelease: true
          title: "MacOS Development Release"
          files: |
            src/build/seergdb.tar.gz


