Azure / Azure/azure-sdk-for-python

Add per-package `coverage` enforcement mechanism

Abierto
#39,339 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

EngSys
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

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.