Azure / Azure/azure-sdk-for-python

Add per-package `coverage` enforcement mechanism

Offen
#39,339 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
EngSys
Vorherrschende Sprache
Python
Sterne
5.6k
Forks
3.4k
Ø Merge
2 T.
Gemergte PRs (30 T.)
217

Beschreibung

@pdhotems has requested that we enforce a minimum code coverage number, below which we will deny the pullrequest.

I didn't receive any specific feedback on the feature itself. I think the way I'd _want_ this to work is to offer a `pyproject.toml` customization that will enable this behavior. That way nobody will be surprised.

Here is a section of the `azure-ai-ml` `pyproject.toml`

```toml
# existing config
[tool.azure-sdk-build]
mypy = true
pyright = false
type_check_samples = false
pylint = true
mindependency = false
latestdependency = false
black = true
# new keys
enforce_coverage = true
coverage_limit = 0.3 # the check will be <=
```

Where the overall coverage goal comes from `coverage_limit`, and `enforce_coverage` enables this behavior. Opt-in to start.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit zu ermitteln, wie die Einstellungen in azure-ai-ml pyproject.toml [tool.azure-sdk-build] gelesen werden und wo Pull-Request-Prüfungen die Abdeckung berechnen. Definiere das Opt-in-Verhalten für enforce_coverage und coverage_limit, einschließlich dessen, was passiert, wenn die Abdeckung auf oder unter dem konfigurierten Limit liegt, und überprüfe anschließend das Verhalten mit den vorhandenen Prüf-Tests des Repositorys.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
build-system, ci-cd, testing
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.