name: Linux-gcc

on: [push]

env:
  BUILD_TYPE: Release

jobs:
  build:
    strategy:
      fail-fast: false
      matrix:
        profile: [ON, OFF]
        updater: [ON, OFF]
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
      with:
        submodules: recursive

    - name: Install Qt
      uses: jurplel/install-qt-action@v3
      with:
        version: 6.4.3
        arch: gcc_64
        modules: 'qtspeech qtmultimedia qt5compat'

    - name: Install packages
      run: sudo apt-get update && sudo apt-get install -y build-essential libnotify-dev libopencv-core-dev libopencv-imgproc-dev libxtst-dev libopencv-dev libxkbcommon-dev libbluetooth-dev libudev-dev

    - name: Create Build Environment
      run: cmake -E make_directory ${{github.workspace}}/build

    - name: Configure CMake
      shell: bash
      working-directory: ${{github.workspace}}/build
      run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DACT_PROFILE=${{ matrix.profile }} -DACT_UPDATER=${{ matrix.updater }}

    - name: Build
      working-directory: ${{github.workspace}}/build
      shell: bash
      run: cmake --build . --config $BUILD_TYPE --parallel 2

    - name: Test
      working-directory: ${{github.workspace}}/build
      shell: bash
      run: ctest -C $BUILD_TYPE
