Ejecutarlos en cada push es insostenible. Una estrategia muy común es correr los tests unitarios y de integración (que son rápidos) en cada push. Los tests E2E, al ser lentos, se ejecutan solo una vez por Pull Request, cuando está lista para ser revisada, o como un check obligatorio antes de poder hacer merge.