# This is a basic workflow to help you get started with Actions

name: CI

env:
  SKIP_MAKE_SETUP_CHECK: 'true'

# Controls when the workflow will run
on:
  # Triggers the workflow on push or pull request events but only for the main branch
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

jobs:
  linter:
    strategy:
      fail-fast: false
      matrix:
        dotnet-version: [9.0.X]
        os: [ubuntu-latest]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-dotnet@v4
        with:
          dotnet-version: ${{ matrix.dotnet-version }}
      - name: Run linter
        run: make lint

  tests_linux:
    needs: linter
    strategy:
      fail-fast: false
      matrix:
        dotnet-version: [9.0.X]
        os: [ubuntu-latest]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-dotnet@v4
        with:
          dotnet-version: ${{ matrix.dotnet-version }}
      - name: Run tests
        run: make test

  # tests_mac:
  #   needs: linter
  #   strategy:
  #     fail-fast: false
  #     matrix:
  #       dotnet-version: [9.0.X]
  #       os: [macos-latest]
  #   runs-on: ${{ matrix.os }}
  #   steps:
  #     - uses: actions/checkout@v3
  #     - uses: actions/setup-dotnet@v4
  #       with:
  #         dotnet-version: ${{ matrix.dotnet-version }}
  #     - name: Install project
  #       run: make install
  #     - name: Run tests
  #       run: make test

  # tests_win:
  #   needs: linter
  #   strategy:
  #     fail-fast: false
  #     matrix:
  #       dotnet-version: [9.0.X]
  #       os: [windows-latest]
  #   runs-on: ${{ matrix.os }}
  #   steps:
  #     - uses: actions/checkout@v3
  #     - uses: actions/setup-dotnet@v4
  #       with:
  #         dotnet-version: ${{ matrix.dotnet-version }}
  #     - name: Install Pip
  #       run: pip install --user --upgrade pip
  #     - name: Install project
  #       run: pip install -e .[test]
  #     - name: run tests
  #       run: pytest -s -vvvv -l --tb=long tests