stages: - test - build stress_test: stage: test services: - name: rabbitmq:3-management alias: rabbitmq before_script: - python setup.py install - coverage run --append -m compile_definitions script: - coverage run --append -m stress_tests - COOLAMQP_FORCE_SELECT_LISTENER=1 coverage run --append -m stress_tests after_script: - mv .coverage .coverage.stress artifacts: paths: - ".coverage.stress" unittest: stage: test image: python:3.11 services: - name: rabbitmq:3-management alias: rabbitmq before_script: - python setup.py install - pip install --break-system-packages nose2 coverage - coverage run --append -m compile_definitions script: - coverage run --append -m nose2 -F -vv after_script: - mv .coverage .coverage.units artifacts: paths: - ".coverage.units" calc_coverage: stage: build dependencies: - unittest - stress_test script: - coverage combine - coverage xml - coverage report coverage: /TOTAL.*\s+(\d+\%)/ pages: image: zoo.smok.co/build/build:latest stage: build script: - cd docs - make html - cd .. - mv docs/_build/html public artifacts: paths: - public build_python: stage: build before_script: - pip install --break-system-packages --upgrade setuptools pip twine script: - python setup.py bdist_wheel - mv dist/*.whl . artifacts: paths: - "*.whl" after_script: - TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python3 -m twine upload --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi *.whl only: - tags except: - branches