Un conjunto de pruebas que estaba ejecutando con jest, me estaban funcionando en local pero no en Github Actions. El error que me estaba arrojando era:
Error: Uncaught [TypeError: A dynamic import callback was invoked without --experimental-vm-modules]
Investigando sobre este error, descubrí que se debe a que las pruebas de Jest están intentando utilizar módulos ES6 con importaciones dinámicas, y Node.js no está configurado para soportar esta funcionalidad sin habilitar explícitamente el uso de los módulos de máquina virtual experimentales (experimental-vm-modules).
¿Cómo solucionar este problema?
La solución consiste en ejecutar jest pero usando node y pasando ese argumento. Entonces en mi package.json, donde tenía una tarea para ejecutar las pruebas, en vez tener algo como:
test: "jest"
Lo cambié a ejecutar node con el argumento –experimental-vm-modules:
test: "node --experimental-vm-modules node_modules/jest/bin/jest"
¡Y listo! Todas las pruebas lograron ejecutarse sin problemas en Github Actions.
Sé el primero en comentar