name: Lint and test on: push: branches: [ master, poetry ] pull_request: branches: [ master ] jobs: test: name: Test on ${{ matrix.python_version }} runs-on: ubuntu-latest strategy: matrix: python_version: ["3.7", "3.8", "3.9"] 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==1.2.0a2" - 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/ - name: Test with pytest run: | python -m pytest tests/