stages:
  - test
  - build


.test:
  stage: test
  script:
    - pip install --break-system-packages --upgrade Cython setuptools pip coverage nose2
    - pip install --break-system-packages -r requirements.txt
    - python setup.py build_ext --inplace
    - python -m coverage run -m nose2 -vv -F
    - python -m coverage report
  variables:
    TESTING: "1"
  coverage: /TOTAL.*\s+(\d+\%)/


test_python310:
  extends: .test
  image: python:3.10


test_python311:
  extends: .test
  image: python:3.11