name: Test Spaces
on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main


jobs:
  build:
    strategy:
      matrix:
        os: [ubuntu-16.04, ubuntu-18.04, ubuntu-20.04, macos-latest]
        python-version: [3.6, 3.7, 3.8, 3.9]

    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v2

      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}

      - name: Lint with Black
        run: |
          python -m pip install black
          python --version
          python -m black --version
          echo $PWD ; ls
          python -m black ./exps -l 88 --check --diff --verbose
          python -m black ./tests -l 88 --check --diff --verbose
          python -m black ./lib/xlayers -l 88 --check --diff --verbose
          python -m black ./lib/spaces -l 88 --check --diff --verbose
          python -m black ./lib/trade_models -l 88 --check --diff --verbose
          python -m black ./lib/procedures -l 88 --check --diff --verbose
          python -m black ./lib/config_utils -l 88 --check --diff --verbose
          python -m black ./lib/log_utils -l 88 --check --diff --verbose

      - name: Test Search Space
        run: |
          python -m pip install pytest numpy
          python -m pip install parameterized
          echo $PWD
          echo "Show what we have here:"
          ls
          python --version
          python -m pytest ./tests/test_basic_space.py -s
        shell: bash

      - name: Test Synthetic Data
        run: |
          python -m pip install pytest numpy
          python -m pip install parameterized
          python -m pip install torch torchvision
          python --version
          python -m pytest ./tests/test_math*.py -s
          python -m pytest ./tests/test_synthetic*.py -s
        shell: bash