name: "fedora"

on:
  schedule:
    - cron: '27 3 * * 2'
  workflow_dispatch: ~

jobs:

  fedora:
    name: fedora Build
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        # version 32, though obsolete, uses Qt 5.14 so we keep it for that.
        include:
          - IMAGE: '32'
            CMAKE_PREFIX_PATH: '/usr/lib64/cmake/Qt5'
          - IMAGE: '35'
            CMAKE_PREFIX_PATH: '/usr/lib64/cmake/Qt5'
          - IMAGE: '37'
            CMAKE_PREFIX_PATH: '/usr/lib64/cmake/Qt5'
          - IMAGE: '37'
            CMAKE_PREFIX_PATH: '/usr/lib64/cmake/Qt6'
          - IMAGE: '38'
            CMAKE_PREFIX_PATH: '/usr/lib64/cmake/Qt5'
          - IMAGE: '38'
            CMAKE_PREFIX_PATH: '/usr/lib64/cmake/Qt6'
    container:
      image: gpsbabel-docker.jfrog.io/tsteven4/gpsbabel_build_environment_f${{ matrix.IMAGE }}
      env:
        LC_ALL: 'C.UTF-8'
        JOB_CMAKE_PREFIX_PATH: ${{ matrix.CMAKE_PREFIX_PATH }}

    steps:
    - name: Checkout repository
      uses: actions/checkout@v4

    - name: build_and_test
      run: |
        # when using containers manually whitelist the checkout directory to allow git commands to work
        git config --global --add safe.directory "${GITHUB_WORKSPACE}"
        if [ -n "${JOB_CMAKE_PREFIX_PATH}" ]; then
          CMAKE_PREFIX_PATH="${JOB_CMAKE_PREFIX_PATH}"
          export CMAKE_PREFIX_PATH
        fi
        ./tools/build_and_test_cmake.sh
