Comment by c-hendricks
25 days ago
I found gitlab ci's yaml the smallest of the 3 I've used (gitlab, GitHub actions, CircleCI).
But does gitlab ci have anything for sharing? GitHub actions are built around it, and CircleCI has orbs and contexts.
For example, muse's guide for gitlab involves making your own container and managing the cache yourself (ref: https://mise.jdx.dev/continuous-integration.html#gitlab-ci)
GitHub actions is a couple of lines (ref: https://mise.jdx.dev/continuous-integration.html#github-acti...)
Not sure what you mean by "smallest". With GitLab you create docker images. That means you can easily run them locally and share them. In the example you gave the GitHub actions one looks like more lines of YAML but only works because they made an "action". If they had provided a Docker image then GitLab would be just as easy (and trivial to test locally).
mise already is trivial to test locally though, and I'm not sure I agree that maintaining a CI config + Docker image is just as easy as maintaining a CI config.
Missed my edit window, but the just-docker solution also doesn't do anything for caching, that's still left up to every job, and the `mise install`.
Again, I don't mine gitlab ci, but they have no solution for sharing repeated tasks.