| ▲ | g947o 9 hours ago | |||||||||||||||||||||||||||||||||||||||||||||||||
Is any of this unique to GitHub Actions that does not happen on other cloud CI platforms? | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | embedding-shape 9 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
The best CI platforms let you "Rebuild with SSH" or something similar, and instead of having the cycle of "change > commit > push > wait > see results" (when you're testing CI specific stuff, not iterating on Makefiles or whatever, assuming most of it is scripts you can run both locally and in CI), you get a URL to connect to while the job is running, so you can effectively ensure manually it works, then just copy-paste whatever you did to your local sources. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | gchamonlive 7 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
I designed a fairly complex test matrix with a lot of logic offloading to the control mechanisms Gitlab offers. You create job templates or base jobs that control the overall logic and extend them for each particular use case. I had varying degrees of success, and it's not a job for a Devs side quest, that means I think you need someone dedicated to explore, build and debug these pipelines, but for a CI tool it's very good. Because you can extend and override jobs, you can create seams so that each piece of the pipeline is isolated and testable. This way there is very little that can go wrong in production that's the CI fault. And I think that's only possible because of the way that Gitlab models their jobs and stages. | ||||||||||||||||||||||||||||||||||||||||||||||||||