mirror of
https://github.com/netbox-community/netbox.git
synced 2026-05-06 14:04:12 +08:00
chore(ci): Collect coverage from parallel test workers
Configure coverage.py for multiprocessing so Django's parallel test workers are included in the coverage data. Move coverage source and report settings into pyproject.toml, and combine per-process coverage data before generating the report. Fixes #22118
This commit is contained in:
12
.github/workflows/ci.yml
vendored
12
.github/workflows/ci.yml
vendored
@@ -122,12 +122,12 @@ jobs:
|
||||
|
||||
- name: Run tests with coverage
|
||||
if: ${{ matrix.coverage }}
|
||||
run: >-
|
||||
coverage run --source="netbox/"
|
||||
netbox/manage.py test netbox/ --parallel
|
||||
run: coverage run netbox/manage.py test netbox/ --parallel
|
||||
|
||||
- name: Combine coverage data
|
||||
if: ${{ matrix.coverage }}
|
||||
run: coverage combine
|
||||
|
||||
- name: Show coverage report
|
||||
if: ${{ matrix.coverage }}
|
||||
run: >-
|
||||
coverage report --skip-covered
|
||||
--omit '*/migrations/*,*/tests/*'
|
||||
run: coverage report
|
||||
|
||||
@@ -26,6 +26,19 @@ Documentation = "https://netboxlabs.com/docs/netbox/"
|
||||
Source = "https://github.com/netbox-community/netbox"
|
||||
Issues = "https://github.com/netbox-community/netbox/issues"
|
||||
|
||||
[tool.coverage.run]
|
||||
source = ["netbox/"]
|
||||
concurrency = ["multiprocessing"]
|
||||
parallel = true
|
||||
sigterm = true
|
||||
|
||||
[tool.coverage.report]
|
||||
skip_covered = true
|
||||
omit = [
|
||||
"*/migrations/*",
|
||||
"*/tests/*",
|
||||
]
|
||||
|
||||
[tool.pyright]
|
||||
include = ["netbox"]
|
||||
exclude = [
|
||||
|
||||
Reference in New Issue
Block a user