Tengo un proyecto con un front-end NextJS y un back-end FeathersJS/Node. Ambas aplicaciones/bases de código son repositorios separados. Me gustaría comenzar a usar Cypress para las pruebas E2E, pero no estoy seguro de cuál es el mejor enfoque para hacerlo con mi configuración. Idealmente, las pruebas se ejecutarían como parte de CI para cada cambio de back-end Y front-end. Actualmente estoy usando acciones de GitHub para mi CI, no estoy seguro de si eso me ayudaría o me perjudicaría aquí.
He visto a algunas personas mencionar poner a Cypress en su propio repositorio con su propio docker-compose que se encargaría de girar el front-end y el back-end para ejecutar las pruebas. Sin embargo, no entiendo cómo funcionaría esto como parte de CI. ¿Cómo se introduciría el nuevo código, antes de la fusión, en este repositorio para ejecutarse como parte de CI? Creo que habría muchos problemas con este enfoque.
Un enfoque en el que pensé es simplemente incluir Cypress como parte de la aplicación NextJS de front-end y hacer que se ejecute en una instancia de "prueba" o "puesta en escena" del back-end que se siembra con cada nuevo despliegue de back-end. Uno de los problemas aquí es que las pruebas no se ejecutan cuando cambia el back-end, pero eso no es necesariamente un problema, supongo.
¿Alguna idea?