@@ -52,12 +52,63 @@ jobs:
52
52
# install your root project, if required
53
53
# ----------------------------------------------
54
54
- name : Install library
55
- run : poetry install --no-interaction --all-extras
55
+ run : poetry install --no-interaction
56
56
# ----------------------------------------------
57
57
# run test suite
58
58
# ----------------------------------------------
59
59
- name : Run tests
60
60
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
61
112
check-linting :
62
113
runs-on : ubuntu-latest
63
114
strategy :
0 commit comments