-
Notifications
You must be signed in to change notification settings - Fork 23
76 lines (73 loc) · 2.2 KB
/
tests.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
name: 'pyjson-tricks'
on:
push:
jobs:
build:
name: tests
runs-on: ubuntu-latest
strategy:
max-parallel: 8
fail-fast: false
matrix:
libraries: [
'vanilla',
'tz',
'path',
'numpy',
'pandas',
'all'
]
python-version: [
'3.7',
'3.8',
'3.9',
'3.10',
'3.11'
]
steps:
- uses: actions/checkout@v1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
if [ "${{ matrix.python-version }}" == "2.7" ] ; then
pip install enum34
fi
export LIBS="${{ matrix.libraries }}"
if [ "$LIBS" == "tz" ] || [ "$LIBS" == "all" ] ; then
pip install pytz
fi
if [ "$LIBS" == "path" ] || [ "$LIBS" == "all" ] ; then
pip install pathlib
fi
if [ "$LIBS" == "numpy" ] || [ "$LIBS" == "all" ] ; then
pip install numpy
fi
if [ "$LIBS" == "pandas" ] || [ "$LIBS" == "all" ] ; then
pip install pandas
fi
- name: Run tests
run: |
python --version
PYTEST_ARGS='-v --strict tests/test_bare.py tests/test_class.py tests/test_meta.py tests/test_enum.py'
export LIBS="${{ matrix.libraries }}"
if [ "$LIBS" == "vanilla" ] ; then
py.test $PYTEST_ARGS
elif [ "$LIBS" == "tz" ] ; then
py.test $PYTEST_ARGS tests/test_tz.py
elif [ "$LIBS" == "path" ] ; then
py.test $PYTEST_ARGS tests/test_pathlib.py
elif [ "$LIBS" == "numpy" ] ; then
py.test $PYTEST_ARGS tests/test_np.py
elif [ "$LIBS" == "pandas" ] ; then
py.test $PYTEST_ARGS tests/test_pandas.py
elif [ "$LIBS" == "all" ] ; then
py.test -v --strict
else
echo "UNKNOWN LIBRARY '$LIBS'"
exit 1
fi