Is there an alternative to traditional CI that is possible with Pants?
06/30/2022, 6:15 PM
Hi, people run Pants in all sorts of CI providers all the time. What specifically isn't working?
The one thing I can think of that has already been discussed is that running Pants on Alpine is not easy/may not work at all (I have not tried it)
But I will leave it to @square-forest-55300 to elaborate on their "dedicated build server" mention
07/01/2022, 3:15 PM
probably a slightly confusing choice of wording. I was pointing at spinning up a GitLab Runner on demand and then trashing it after finishing the build job is a bad idea. Dedicated Build Server is not in context of Pants but GitLab in this case, deploying GitLab Runner(s) on a VPS or as a long lived container. You can then use a Shell Executor for example to run your CI jobs using pants. Another Alternative would be to use an SSH Executor inside a docker container to connect to a seperate machine running Pants.
Alpine is one of the most used container image bases, so that's where the issue came into play in this specific case. Pants probably runs on alpine, it's just that there's no official distributed package from Pants.
In you case, this would involve using the Drone SSH Runner until the VM runner becomes stable enough. That one should hibernate the long lived VM running Pants instead of killing it once the CI job is finished.
Finally, if we were to draw a comparison between 'traditional' CI pipelines and Pants driven pipelines, it comes down to capabilities. Pants brings a lot of things with it that other more traditional build tools don't have. CI Runners typically have to compensate for that while, when using Pants, they can simply delegate those tasks.
Feel free to ask if anything is still unclear, it might take a while for me to answer (getting a surgery, so priorities elsewhere), but I will answer eventually. Good luck!