Hello! First time posting here, but our team has been using Pants for several months and have developed a few custom plugins. I'm starting to see the power of it all, so thank you for all the hard work!
My current challenge is setting up
cypress tests. We have some existing javascript tests which just run in one process, but for cypress tests we'll need to spin up the frontend container, ideally also the backend container and then also run the cypress tests. The way I see it there are really 2 modes of execution that I'd like to support using pants:
1. CI testing. in this mode, I could have everything run in one docker image. That would entail adding a pex, and some node executables all into one container. It's very different from the actual deployment scenario, where each runs in their own container via kubernetes, which worries me a little, but I have no idea how I'd go about orchestrating containers with pants, or if that's even possible.
2. Local dev, is where I'm kind of stuck -- I'd like to be able to have a local dev mode where the cypress dev suite is opened using the local browser, for interactive test building and hot reloading. For this I would want to start the docker_image running the frontend code, and also possibly another container running the backend code but then also run
npm run cypress open
from the host machine at the same time so that it uses the developer's browser.
I suspect that I'm at the edge of what's possible to support with pants, and was hoping for some guidance on how best to approach this all in the most hermetic and consistent paradigm that could support local/CI within a somewhat similar framework. I'm willing to dig deep into plugin system to make it happen, but wanted to check if it would even be possible... I don't see anything else doing this kind of orchestration stuff anywhere so not sure it's a good idea to even try...
Thank you all!