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

name: MacOS_CI

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [ '3.8' ]
    name: Python ${{ matrix.python-version }} CI
    steps:
      - uses: actions/checkout@v2
      - run: git fetch --prune --unshallow

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

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -r requirements.txt
      - name: install coverage
        run: pip install coverage

      - name: install mypy
        run: pip install mypy

      - name: install pycodestyle
        run: pip install pycodestyle

      - name: mypy check
        run: |
          find AerialNavigation -name "*.py" | xargs mypy
          find ArmNavigation -name "*.py" | xargs mypy
          find Bipedal -name "*.py" | xargs mypy
          find InvertedPendulumCart -name "*.py" | xargs mypy
          find Localization -name "*.py" | xargs mypy
          find Mapping -name "*.py" | xargs mypy
          find PathPlanning -name "*.py" | xargs mypy
          find PathTracking -name "*.py" | xargs mypy
          find SLAM -name "*.py" | xargs mypy

      - name: do diff style check
        run: bash rundiffstylecheck.sh

      - name: do all unit tests
        run: bash runtests.sh




