Add workflow for testing with all deps (#4410)

# Add action to test with all dependencies installed

PR adds a custom action for setting up poetry that allows specifying a
cache key:
https://github.com/actions/setup-python/issues/505#issuecomment-1273013236

This makes it possible to run 2 types of unit tests: 

(1) unit tests with only core dependencies
(2) unit tests with extended dependencies (e.g., those that rely on an
optional pdf parsing library)


As part of this PR, we're moving some pdf parsing tests into the
unit-tests section and making sure that these unit tests get executed
when running with extended dependencies.
This commit is contained in:
Eugene Yurtsev
2023-05-10 09:35:07 -04:00
committed by GitHub
parent 3637d6da6e
commit 80558b5b27
8 changed files with 322 additions and 7 deletions
+4 -6
View File
@@ -20,15 +20,13 @@ jobs:
- "3.11"
steps:
- uses: actions/checkout@v3
- name: Install poetry
run: pipx install poetry==$POETRY_VERSION
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: "./.github/actions/poetry_setup"
with:
python-version: ${{ matrix.python-version }}
cache: "poetry"
- name: Install dependencies
run: poetry install
poetry-version: "1.4.2"
cache-key: "main"
install-command: "poetry install"
- name: Run unit tests
run: |
make test
+33
View File
@@ -0,0 +1,33 @@
# Run unit tests with all optional packages installed.
name: test_all
on:
push:
branches: [master]
pull_request:
env:
POETRY_VERSION: "1.4.2"
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: "./.github/actions/poetry_setup"
with:
python-version: ${{ matrix.python-version }}
poetry-version: "1.4.2"
cache-key: "extended"
install-command: "poetry install -E extended_testing"
- name: Run unit tests
run: |
make test