name: Build

on: [push, pull_request]

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macOS-latest]
        buildType: [RelWithDebInfo]
        include:
        - os: windows-latest
          cmake_extra: '-A x64 -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake'
          cmake_generator: '-G "Visual Studio 16 2019"'
        - os: macOS-latest
          pkg_config_path: '/usr/local/opt/openssl@1.1/lib/pkgconfig'
          cmake_extra: '-DBUILD_RUBY=no'
    env:
      BuildType: ${{matrix.buildType}}
      BuildDir: ${{github.workspace}}/BLD
      InstallPrefix: ${{github.workspace}}/INSTALL
      PKG_CONFIG_PATH: ${{matrix.pkg_config_path}}
      VCPKG_DEFAULT_TRIPLET: x64-windows
    steps:
    - uses: actions/checkout@v2
    - name: Create Build and Install directories
      run: mkdir -p "${BuildDir}" "{InstallPrefix}"
      shell: bash
    - name: Setup python
      uses: actions/setup-python@v2
      with:
        python-version: 3.6
        architecture: x64
    - name: Install python dependencies
      run: |
        python -m pip install --upgrade pip
        python -m pip install setuptools wheel tox unittest2
    - name: Install Linux dependencies
      if: ${{ runner.os == 'Linux' }}
      run: |
        sudo apt install -y swig libpython3-dev libsasl2-dev libjsoncpp-dev
    - name: Install Windows dependencies
      if: ${{ runner.os == 'Windows' }}
      run: |
        choco install -y swig --version=4.0.1
        vcpkg install jsoncpp
        vcpkg integrate install
    - name: Install MacOS dependencies
      if: ${{ runner.os == 'macOS' }}
      run: |
        brew install libuv swig pkgconfig jsoncpp
    - name: cmake configure
      working-directory: ${{env.BuildDir}}
      run: cmake "${{github.workspace}}" "-DCMAKE_BUILD_TYPE=${BuildType}" "-DCMAKE_INSTALL_PREFIX=${InstallPrefix}" ${{matrix.cmake_extra}}
      shell: bash
    - name: cmake build/install
      run: cmake --build "${BuildDir}" --config ${BuildType} -t install
      shell: bash
    - name: Upload Install
      uses: actions/upload-artifact@v2
      with:
        name: qpid_proton_pkg_${{matrix.os}}_${{matrix.buildType}}
        path: ${{env.InstallPrefix}}
    - name: Upload python packages
      uses: actions/upload-artifact@v2
      with:
        name: python-pkgs
        path: ${{env.BuildDir}}/python/pkgs
    - name: ctest
      continue-on-error: true
      working-directory: ${{env.BuildDir}}
      run: ctest -C ${BuildType} -V -T Test --no-compress-output
      shell: bash
    - name: Upload Test results
      uses: actions/upload-artifact@v2
      with:
        name: Test_Results_${{matrix.os}}_${{matrix.buildType}}
        path: ${{env.BuildDir}}/Testing/**/*.xml
    - name: Upload Python & C build directories on failure
      uses: actions/upload-artifact@v2
      if: failure()
      with:
        name: Debug-python-C-BLD_${{matrix.os}}_${{matrix.buildType}}
        path: |
          ${{env.BuildDir}}/c
          ${{env.BuildDir}}/python
    - name: Environment (Linux/Windows)
      if: ${{ always() && runner.os != 'macOS' }}
      run: env -0 | sort -z | tr '\0' '\n'
      shell: bash
    - name: Environment (macOS)
      if: ${{ always() && runner.os == 'macOS' }}
      run: env | sort
      shell: bash
