@@ -52,12 +52,63 @@ jobs:
5252 # install your root project, if required
5353 # ----------------------------------------------
5454 - name : Install library
55- run : poetry install --no-interaction --all-extras
55+ run : poetry install --no-interaction
5656 # ----------------------------------------------
5757 # run test suite
5858 # ----------------------------------------------
5959 - name : Run tests
6060 run : poetry run python -m pytest tests/unit
61+ run-unit-tests-with-arrow :
62+ runs-on : ubuntu-latest
63+ strategy :
64+ matrix :
65+ python-version : [ 3.8, 3.9, "3.10", "3.11" ]
66+ steps :
67+ # ----------------------------------------------
68+ # check-out repo and set-up python
69+ # ----------------------------------------------
70+ - name : Check out repository
71+ uses : actions/checkout@v2
72+ - name : Set up python ${{ matrix.python-version }}
73+ id : setup-python
74+ uses : actions/setup-python@v2
75+ with :
76+ python-version : ${{ matrix.python-version }}
77+ # ----------------------------------------------
78+ # ----- install & configure poetry -----
79+ # ----------------------------------------------
80+ - name : Install Poetry
81+ uses : snok/install-poetry@v1
82+ with :
83+ virtualenvs-create : true
84+ virtualenvs-in-project : true
85+ installer-parallel : true
86+
87+ # ----------------------------------------------
88+ # load cached venv if cache exists
89+ # ----------------------------------------------
90+ - name : Load cached venv
91+ id : cached-poetry-dependencies
92+ uses : actions/cache@v2
93+ with :
94+ path : .venv-pyarrow
95+ key : venv-pyarrow-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ github.event.repository.name }}-${{ hashFiles('**/poetry.lock') }}
96+ # ----------------------------------------------
97+ # install dependencies if cache does not exist
98+ # ----------------------------------------------
99+ - name : Install dependencies
100+ if : steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
101+ run : poetry install --no-interaction --no-root
102+ # ----------------------------------------------
103+ # install your root project, if required
104+ # ----------------------------------------------
105+ - name : Install library
106+ run : poetry install --no-interaction --all-extras
107+ # ----------------------------------------------
108+ # run test suite
109+ # ----------------------------------------------
110+ - name : Run tests
111+ run : poetry run python -m pytest tests/unit
61112 check-linting :
62113 runs-on : ubuntu-latest
63114 strategy :
0 commit comments