diff --git a/.github/workflows/lint_and_test.yml b/.github/workflows/lint_and_test.yml index 674f673..d9bc314 100644 --- a/.github/workflows/lint_and_test.yml +++ b/.github/workflows/lint_and_test.yml @@ -2,26 +2,40 @@ name: Lint and test on: push: - branches: [ master ] + branches: [ master, poetry ] pull_request: branches: [ master ] jobs: - build: - + 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 3.9 + - name: Set up Python ${{ matrix.python_version }} uses: actions/setup-python@v2 with: - python-version: 3.9 - - name: Install dependencies + 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 - pip install black pytest - pip install . + 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