Skip to content

Latest commit

 

History

History
31 lines (18 loc) · 1.76 KB

integracion-continua.md

File metadata and controls

31 lines (18 loc) · 1.76 KB

Integración continua

Github Actions

Lo estoy utilizando para:

  • Lint del código: La configuración de PyLint y la configuración de la action.
  • Construcción de la imagen que utilizo para testear, como explico aquí solo se reconstruye si es necesario.
  • Tests aprovechando la imagen del paso anterior. Este paso es dependiente del anterior, si hace falta reconstruir la imagen, este "esperaría". La configuración es también esta.

Travis

Es el servicio de integración continua adicional que estoy utilizando para correr los tests en varias versiones de Python.

  • He configurado 3.7, 3.8 y 3.9. Las tres forman parte de las active releases de python. La 2.7 y 3.6 no están porque features como @dataclass (justifico su uso aquí) o async/await no están disponibles.
  • Además, usa una caché para no tener que recrear el entorno virtual de poetry:
    • He configurado poetry para que no cree el entorno virtual en un directorio arbitrario: poetry config virtualenvs.in-project true.
    • He cacheado el directorio venv que se crea en su lugar.

He encontrado estas prácticas aquí y se puede consultar el fichero resultante aquí.

Ejecuto poetry run task test para correr los tests.

CircleCI

Por último, utilizo CircleCI para hacer los tests de cobertura recogidos en la historia de usuario correspondiente. Para la visualización utilizo CodeCov.

Esta es la configuración de CircleCI.

Ejecuto poetry run task cov para generar informe de cobertura.