Azure / Azure/azure-sdk-for-python
Add per-package `coverage` enforcement mechanism
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 5.6k
- Forks
- 3.4k
- Merge medio
- 2 d 2 h
- PR fusionados (30 d)
- 213
Descripción
@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
# 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 <calculated_cov_%> <= <coverage_limit>
Where the overall coverage goal comes from coverage_limit, and enforce_coverage enables this behavior. Opt-in to start.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza localizando cómo se leen las configuraciones de azure-ai-ml pyproject.toml [tool.azure-sdk-build] y dónde las comprobaciones de pull request calculan la cobertura. Define el comportamiento de activación explícita de enforce_coverage y coverage_limit, incluido lo que ocurre cuando la cobertura es igual o inferior al límite configurado, y verifica después el comportamiento con las pruebas de comprobación existentes del repositorio.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- build-system, ci-cd, testing
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 30/100