Cesar Buelvas Torres
EstudianteFernando García Guerrero
EstudianteMiguel Angel Reyes Moreno
EstudianteIván Antonio Bustos Calderón
EstudianteEllioth Aguirre Gonzales
EstudianteEllioth Aguirre Gonzales
EstudianteDiego Reyes Cabrera
EstudianteJonh Pertuz pertuz
EstudianteGiancarlo Culcay
EstudianteKevin Parra Lopez
EstudianteMiguel Angel Reyes Moreno
EstudianteMiguel Angel Reyes Moreno
EstudianteDavid Hilera
EstudianteMiguel Angel Reyes Moreno
EstudianteAlejandro Paladines
Estudiantejefred bedoya
EstudianteMiguel Ángel López Londoño
EstudianteAxel Enrique Galeed Gutierrez
EstudianteEste un curso mas especifico para githubactions. https://platzi.com/cursos/github-actions/
Gente si tuvieron algún problema con el npm ci de pronto es la versión de node, cámbienla a la 16 o 18, depende de cuál sea la LTS de cuando hacen el curso
¡Gracias! Me había dado error justo ahí y cambié la versión de node a 18 (la que a día de hoy está en LTS) y funcionó :D
Muy bueno esta clase. Me gustó lo sencillo que es la integración continua con GitHub Actions. En mi trabajo usamos Drone con Gitlab.
name: API CI # on: [push] // asi se hace on cuando solo manejamos un proyecto simple, pero como manejamos un monorepo debemos hacer mas especifico la config on: push: paths: - "./api/**" - ".github/workflows/api-ci.yml" jobs: unit-test: runs-on: macos-latest defaults: run: working-directory: ./api steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: "npm" cache-dependency-path: ./api/package-lock.json - name: Install dependencies run: npm ci - name: run unit test run: npm run test - name: Upload test results if failed if: failure() uses: actions/upload-artifact@v4 with: name: test-results path: ./api/test-results/ ```Codigo actualizado a 2025 name: API CI*# on: \[push] // asi se hace on cuando solo manejamos un proyecto simple, pero como manejamos un monorepo debemos hacer mas especifico la config*on: push: paths: - "./api/\*\*" - ".github/workflows/api-ci.yml" jobs: unit-test: runs-on: macos-latest   defaults: run: working-directory: ./api   steps: - name: Checkout repository uses: actions/checkout@v4   \- name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: "npm" cache-dependency-path: ./api/package-lock.json   \- name: Install dependencies run: npm ci   \- name: run unit test run: npm run test   \- name: Upload test results if failed if: failure() uses: actions/upload-artifact@v4 with: name: test-results path: ./api/test-results/  
la ultima parte se volvio a copiar -_-
Se suele utilizar GitHub Actions para hacer check del formato y pruebas estáticas? Porque me parece mucho más eficiente implementar esa capa con Husky, ya sea con un hook pre-commit o pre-push. Así el error ni siquiera debería de llegar al repositorio remoto.
Me realizo el push a la rama pero no corrió las pruebas, no aparece el check en verde, que pude hacer mal trabaje con yarn ?
si he venido trabajando todo el curso con otro manejador de paquetes como yarn o pnpm , que líneas de código debería poner en el api-ci.yml ?
esos yarn o pnpm
Maravilloso que hayan includo esta clase en este curso :D
Reto completado: https://github.com/Mike-droid/intro-test-js/actions/runs/4739267398
No se me había ocurrido que había que incluir el servicio de mongo para los e2e (muy obvio), gracias por ejemplo.
Como comentario para los que se guíen de tu ejemplo, las variables de entorno deben de coincidir con el docker, por lo que la MONGO_URL puede ser distinta dependiendo del servicio de mongo en docker.
Gracias por el aporte, _deiviiss :D
Si al correr el step actions/setup-node@v4 tienes este error con la cache
Error: Cache service responded with 422
Es necesario hacer un upgrade a @v4 y limpiar la cache
name: API CI #on: [push] # For normal repositories (no monorepos) on: push: paths: - "./api/**" - ".github/workflows/api-ci.yml" defaults: run: working-directory: ./api jobs: unit-test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Clear npm cache run: npm cache clean --force - name: Setup Nodejs uses: actions/setup-node@v4 with: node-version: 18 cache: 'npm' cache-dependency-path: ./api/package-lock.json - name: install shell: bash run: npm ci - name: run unit test shell: bash run: npm run test
actualmente se configura así
name: API CI on: push: paths: - 'api/**' - '.github/workflows/api-ci.yml' pull_request: paths: - 'api/**' - '.github/workflows/api-ci.yml' workflow_dispatch: defaults: run: working-directory: ./api jobs: unit-test: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 18 cache: npm cache-dependency-path: api/package-lock.json - name: Install dependencies run: npm ci - name: Run unit tests run: npm test -- --runInBand
Les comparto el código del reto. 😀 lint.yml
name: 💅 Lint on: push jobs: lint: runs-on: ubuntu-latest name: ESLint steps: - name: 👍 Checkout uses: actions/checkout@v2 - name: 📥 Install Dependencies run: npm ci - name: 🌹 ESLint run: npm run lint