5 ms·
Github actions is nowhere near as polished/mature ad gitlab ci. Github actions feels more like a "hack blocks together" than a true pipeline.
by nhumrich 7y ago
Github actions is nowhere near as polished/mature ad gitlab ci. Github actions feels more like a "hack blocks together" than a true pipeline.
- tamalsaha001 7y agoDo you mind to elaborate? We have migrated from Travis to Github Actions and love it so far.
- chabad360 7y agoAgreed, it's much better than Travis. But the GP is right, it's more "hack blocks together", where each action does its own thing and acts on the files independently, and there isn't much control over the whole process. Heck, they don't even fully support the entire YAML spec (I'd give citations on that but I'm writing from my phone, and don't have the time to pull it up). I haven't used GitLab for a while because most of the projects I'm working on are on GitHub, so I can't comment on GitLab CI.
- xrd 7y agoYeah, that's interesting. Being able to run the runner on my own instance on Google cloud is so easy to troubleshoot. I've not played with actions but when I need to shell into my runner and check something, having root and owning the machine makes that really fast.
- Zarel 7y agoIt's much better than Travis in every way except one: GitHub Actions pull request checks are against the PR branch, while Travis pull request checks are against a merged tree. The most common case where this matters is if someone pushes a failing commit to master, and then all PRs based on that commit will also fail, and then a fix is pushed to master. With Travis, you just need to re-run checks, but with GitHub actions, all those PRs need to be rebased on the new master.
- ilammy 7y ago> GitHub Actions pull request checks are against the PR branch, while Travis pull request checks are against a merged tree Actually, actions/checkout will check out the merged tree by default.
- Zarel 7y agoIndeed, the documentation reflects this. So why isn't it happening on my repo? Weird...
- deleted 7y ago[deleted]
- gitgud 7y agoGithub actions is confusing and has a steep learning curve, but the flexibility of using Docker makes it fast and reliable to hack together workflows.
- xrd 7y agoAre you suggesting gitlab ci isn't docker? All my pipelines are some docker variant. I'm not sure if you are just suggesting actions was done the right way with docker, but that's nothing special with gitlab ci. Can you clarify? You can even use your own docker repository with gitlab, though I'm unsure if that's something that only comes with EE (I haven't needed it yet, I just keep all my extras in the gitlab ci yaml file).
- gitgud 7y ago> "Are you suggesting gitlab ci isn't docker?" Sorry, I'm honestly not familiar with Gitlab CI. I was just originally mentioning how the use of Docker in Github Actions allowed for amazing flexibility, which I thought was cool. What makes Gitlab CI a better or more polished API than Github Actions? At first glance they look very similar
- globular-toast 7y agoGitlab has a few different modes for its runner. One of them uses docker to run your script in a container. But you can also have shell executors which is more like Jenkins, for example. That can actually be better if what you're doing is building a lot of Docker images.
- unlinked_dll 7y agoIt's also slow and difficult to cache build artifacts which makes it immensely painful to debug if you have anything of moderate complexity. Allegedly there's a way to cache image layers and artifacts on Github. I've taken to pushing them to S3 buckets so my CI runs can be incremental where possible.
- gitgud 7y ago