# This workflow will install Python dependencies, run tests and lint with a single version of Python # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions name: Testing on: push jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: # Use the same Python version used the Dockerfile python-version: [3.9] env: OS: ubuntu-latest PYTHON: ${{ matrix.python-version }} WIC_BATCH_SIZE: 16 steps: # Checkout and env setup - name: Checkout code uses: nschloe/action-cached-lfs-checkout@v1.1.3 with: exclude: "scoutbot/*/models/pytorch/" - name: Set up Python ${{ matrix.python-version }} 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 pip install -r requirements.optional.txt - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names flake8 . --count --show-source --statistics # exit-zero treats all errors as warnings. flake8 . --count --exit-zero --max-complexity=10 --statistics - name: Run tests run: | set -ex pytest --cov=./ --cov-append --random-order-seed=1 - name: Run coverage run: | coverage xml - name: Upload coverage to Codecov uses: codecov/codecov-action@v1.2.1 with: token: ${{ secrets.CODECOV_TOKEN }} files: ./coverage/coverage.xml env_vars: OS,PYTHON fail_ci_if_error: true