name: rocm-cmake

on: [push, pull_request]

jobs:
  cancel:
    runs-on: ubuntu-latest
    steps:
      - name: Cancel Previous Runs
        uses: styfle/cancel-workflow-action@0.6.0
        with:
          access_token: ${{ github.token }}
  lint:
    runs-on: ubuntu-18.04
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python 3.9
      uses: actions/setup-python@v2
      with:
        python-version: 3.9
    - name: Install dependencies
      run: |
        python -m pip install --upgrade setuptools pip wheel
        python -m pip install cget cmakelang[YAML]
    - name: Run linter
      run: |
        cget build -T analyze
  test:
    runs-on: ${{ matrix.platform }}
    strategy:
      max-parallel: 4
      matrix:
        platform:
          - ubuntu-18.04
          - macos-10.14
          - windows-2016
        cmake-version:
          - 3.20.0
          - 3.10.2

    steps:
    - uses: actions/checkout@v1
    - name: Set up Python 3.9
      uses: actions/setup-python@v2
      with:
        python-version: 3.9
    - name: Setup cmake
      uses: jwlawson/actions-setup-cmake@v1.9
      with:
        cmake-version: ${{ matrix.cmake-version }}
    - name: Install dependencies
      run: |
        python -m pip install --upgrade setuptools pip wheel
        python -m pip install cget ninja
        python -m pip install -r doc/requirements.txt
    - name: Run tests
      run: |
        git config --global user.email "you@example.com"
        git config --global user.name "Your Name"
        cmake --version
        cget build --test
        cget build -T doc
        cget build -Cy --test -DROCM_CMAKE_GENERATOR=Ninja
        cget build -T doc

