image: python:latest stages: - lint - test - deploy before_script: - pip install poetry - poetry install --no-root lint: stage: lint script: - poetry run ruff check - poetry run ruff format --check test: stage: test script: - poetry run pytest -v --cov=. --cov-report=xml after_script: - bash <(curl -s https://codecov.io/bash) artifacts: reports: coverage_report: coverage_format: cobertura path: coverage.xml deploy_to_pypi: stage: deploy only: refs: - master changes: - pyproject.toml script: - POETRY_PYPI_TOKEN_PYPI=$PYPI_PASSWORD poetry publish --build