Iván Antonio Bustos Calderón
Muy bueno esta clase. Me gustó lo sencillo que es la integración continua con GitHub Actions. En mi trabajo usamos Drone con Gitlab.
Iván Antonio Bustos Calderón
Muy bueno esta clase. Me gustó lo sencillo que es la integración continua con GitHub Actions. En mi trabajo usamos Drone con Gitlab.
Ellioth Aguirre Gonzales
Ellioth Aguirre Gonzales
la ultima parte se volvio a copiar -_-
Diego Reyes Cabrera
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.
Jonh Pertuz pertuz
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 ?
Giancarlo Culcay
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 ?
Kevin Parra Lopez
esos yarn o pnpm
Miguel Angel Reyes Moreno
Maravilloso que hayan includo esta clase en este curso :D
Miguel Angel Reyes Moreno
Reto completado: https://github.com/Mike-droid/intro-test-js/actions/runs/4739267398
David Hilera
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.
Miguel Angel Reyes Moreno
Gracias por el aporte, _deiviiss :D
Alejandro Paladines
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
Jefred Bedoya
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
Miguel Ángel López Londoño
Axel Enrique Galeed Gutierrez
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
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/