From 4b9c004ae8f88fdbc54bebde7163dba7517a7c84 Mon Sep 17 00:00:00 2001 From: qiaobochi040726-source Date: Thu, 6 Aug 2026 05:09:49 +0800 Subject: [PATCH] Add pytest-cov coverage reporting to CI --- .github/workflows/test.yml | 32 ++++++++++++++++++++++++++++++++ pyproject.toml | 5 +++++ 2 files changed, 37 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..15218c1 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,32 @@ +name: tests + +on: + push: + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.10", "3.11"] + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version}} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -e ".[dev]" + - name: Run tests with coverage + run: | + pytest --cov=stellargate --cov-fail-under=60 -q + coverage report -m + - name: Upload coverage report + if: always() + uses: actions/upload-artifact@v4 + with: + name: pytest-cov-report-${{ matrix.python-version }} + path: .coverage \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index ece44e9..ac6af96 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,8 +10,13 @@ dependencies = [ [project.optional-dependencies] dev = [ "pytest>=7.0", + "pytest-cov>=4.0", ] +[tool.coverage.run] +source = ["stellargate"] +omit = ["tests/*", "*/tests/*"] + [project.scripts] stellargate = "stellargate.cli:main"