@@ -23,33 +23,42 @@ jobs:
2323 steps :
2424 - name : Checkout code
2525 uses : actions/checkout@v4
26- with :
27- submodules : recursive
28-
26+
2927 - name : Set up Python ${{ matrix.python-version }}
3028 uses : actions/setup-python@v5
3129 with :
3230 python-version : ${{ matrix.python-version }}
33- cache : ' pip'
3431
3532 - name : Get full Python version
3633 id : full-python-version
3734 run : echo version=$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))") >> $GITHUB_OUTPUT
3835
39- - name : Install Ubuntu-build dependencies
36+ - name : Install and configure Poetry
4037 run : |
41- sudo apt-get update
42- sudo apt-get install -y libopenblas-dev gfortran python3-dev
43-
44- - name : Install PyPi-build dependencies
38+ pip install poetry
39+ poetry --version
40+ poetry config virtualenvs.in-project true
41+
42+ - name : Cache the virtualenv
43+ uses : actions/cache@v4
44+ with :
45+ path : .venv
46+ key : venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }}
47+
48+ - name : Install project dependencies
49+ run : |
50+ poetry install --with dev
51+
52+ - name : Run tests with Numba enabled
4553 run : |
46- pip install -r requirements-build.txt
47-
48- - name : Run tests and collect coverage
54+ poetry run pytest -v -s
55+
56+ - name : Run tests with Numba disabled and collect coverage
4957 continue-on-error : true
5058 run : |
51- pytest --cov -v -s --cov-report=xml
52- coverage report --omit="tests/*"
59+ export NUMBA_DISABLE_JIT=1
60+ poetry run pytest --cov -v -s --cov-report=xml
61+ poetry run coverage report --omit="tests/*"
5362
5463 - name : Upload coverage to Codecov
5564 if : ${{ matrix.python-version == '3.10' }}
0 commit comments