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.

La entrada Error: Uncaught [TypeError: A dynamic import callback was invoked without –experimental-vm-modules] se publicó primero en El blog de Skatox.