diff --git a/README.md b/README.md index 7035e99..0597f6e 100644 --- a/README.md +++ b/README.md @@ -1 +1,47 @@ -# CICD-con-Github-Actions- \ No newline at end of file +# CICD-con-Github-Actions- + +Realmente no me lo esperaba pero es prácticamente lo mismo que Jenkins + +Código + +El código, es un código simple de unas pruebas unitarias donde se comprueba que el número factorial devuelto es correcto y que se controla el error de input. +Factorial +![Alt text](image.png) +Pruebas +![Alt text](image-1.png) + +CI +En esta parte de integración continua lo único que vamos a generar es que cuando hagamos un push en una maquina ubuntu se lance nuestra clase de pruebas o cualquier script que controle la calidad del codigo (al menos ese es el fin). +Quizá este sea no sea el mejor ejemplo, pero se podría que generar que se pase algún programa como Sonar o la norminette de 42 para el control de lineas y formateo etc... + +python-ci.yml + +Aqui lo único que estamos mencionando son las ramas que van a tener afectación y que acciones van a triggerear las pruebas. +![Alt text](image-2.png) + +En este caso voy a crear un job que va buildear y testear la aplicación. +Reitero en que quizá al ser una aplicación pequeña y python ser un lenguaje interpretado no sea el mejor contexto,por que la fase build generalmente viene mas ligada a la creación de un artefacto que luego se pueda ejecutar. +Por ejemplo un .war de java o un .exe para windows o un ./mi_prog +(Se podría crear un .exe de esta aplicación pero es un jaleo, otro día) +![Alt text](image-3.png) + +El tema de los uses: +Por un lado se pueden crear uses o buscar uses por aquí. +https://github.com/marketplace?type=actions + +Explicación sencilla + +Normalmente para poder correr este programa en un ubuntu necesitaria hacer un sudo apt-get install python lo que sea +Vale la cosa es que yo si me genero una pipeline podría querer probar mi aplicación en distintos sistemas operativos y entonces tendría que hacer distintas operaciones para cada uno de ellos. Imagina las diferencias entre windows, macos y todas las distros de linux. +Entonces en este use concreto actions/setup-python@v2 +Lo que me estoy facilitando es la portabilidad, la versión de python que quiero y otras muchas cosas que todavía no acabo de entender de control de entorno. + +![Alt text](image-5.png) +La versión con la que quiero tirar y homogenizar mis pruebas + +![Alt text](image-6.png) +El resto nada, comandos necesarios ordenaditos on sus tags y por supuesto la ejecución de las pruebas. + + + + diff --git a/context/image-1.png b/context/image-1.png new file mode 100644 index 0000000..b357321 Binary files /dev/null and b/context/image-1.png differ diff --git a/context/image-2.png b/context/image-2.png new file mode 100644 index 0000000..d01a16a Binary files /dev/null and b/context/image-2.png differ diff --git a/context/image-3.png b/context/image-3.png new file mode 100644 index 0000000..033df79 Binary files /dev/null and b/context/image-3.png differ diff --git a/context/image-4.png b/context/image-4.png new file mode 100644 index 0000000..033df79 Binary files /dev/null and b/context/image-4.png differ diff --git a/context/image-5.png b/context/image-5.png new file mode 100644 index 0000000..5943b82 Binary files /dev/null and b/context/image-5.png differ diff --git a/context/image-6.png b/context/image-6.png new file mode 100644 index 0000000..2a18662 Binary files /dev/null and b/context/image-6.png differ diff --git a/context/image.png b/context/image.png new file mode 100644 index 0000000..90f4603 Binary files /dev/null and b/context/image.png differ diff --git a/test_main.py b/test_main.py index aec01a3..d58193b 100644 --- a/test_main.py +++ b/test_main.py @@ -9,9 +9,6 @@ def test_factorial_zero(self): def test_factorial_positive_number(self): self.assertEqual(factorial(5), 120) - def test_factorial_positive_number(self): - self.assertEqual(factorial(-1), 120) - def test_factorial_negative_number(self): with self.assertRaises(ValueError): factorial(-1)