name: Lint and test on: push: branches: [ "**" ] pull_request: branches: [ master ] jobs: test: name: Test on ${{ matrix.python_version }} runs-on: ubuntu-latest strategy: matrix: python_version: ["3.8", "3.9", "3.10"] fail-fast: false steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python_version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python_version }} - uses: actions/cache@v2 id: cache with: path: ${{ env.pythonLocation }} key: ${{ runner.os }}-python-${{ env.pythonLocation }}-${{ hashFiles('pyproject.toml') }}-root - name: Install poetry if: steps.cache.outputs.cache-hit != 'true' run: | python -m pip install --upgrade pip python -m pip install poetry - name: Configure poetry run: python -m poetry config virtualenvs.create false - name: Install Dependencies if: steps.cache.outputs.cache-hit != 'true' run: python -m poetry install - name: Lint with black run: | # stop the build if there are Python syntax errors or undefined names black --check --diff pandas_ods_reader/ tests/ flake8 pandas_ods_reader/ tests/ mypy pandas_ods_reader/ tests/ - name: Test with pytest run: | python -m pytest --cov tests/