- Github Action's design is much better, just look at [1] for example, there's a lot of low-hanging fruit in Gitlab that's not done for some reason
- I've had tons of issues with their kubernetes runners, hard to debug spurious system failures
- They still don't display the last N bytes of the logs when logs get long, just the first N bytes, which is entirely useless when a build fails
- It's awfully slow to navigate through pipelines, in particular child pipelines
- The `stages` things is just useless noise, I just wanna specify dependencies please, I don't want to be forced to also put each job in a stage, it's weird.
- You can't expose a secret only to a single job step; they don't really have finer granularity for job steps like Github Actions has -- they just generate a script.sh that's executed directly.
- Github has many more reusable actions from the community, I don't think Gitlab has that at all? At least not in a convenient way.
> Github has many more reusable actions from the community, I don't think Gitlab has that at all? At least not in a convenient way.
This is the big one.
Github’s ability and dominance in the social space means they have the most active actions ecosystems.
They made actions easier to import share and built marketplaces and now gobs of developers build value into it just for clout (and because they enjoy software of course).
If you think about it carefully, it’s actually a security nightmare. You have no idea what a random Github action you “uses:”d is doing, but in practice 90%+ of the time it doesn’t matter, you get good functionality and save time for free.
YES! We are getting awfully tempted to move at least my AI team to Github. We don't want to dedicate someone to figure out CI/CD/MLops pipelines, which would mostly amount to translating existing, published, official github action pipelines to something that can work on Gitlab. Our devops teams can help, but when in our case we need a pretty domain specific pipeline setup. Most of the pipeline related docs for Azure ML, for example, is based around very extensive github actions templates. It would take minutes to just deploy it there.
I mean in this particular case, it's unfair since microsoft would obviously favor github. But it's not like there's a marketplace where a community made version could be used as a replacement...
> The `stages` things is just useless noise, I just wanna specify dependencies please, I don't want to be forced to also put each job in a stage, it's weird.
You don't have to. GitLab supports dependencies. Using the `needs:` keyword.
> The `stages` things is just useless noise, I just wanna specify dependencies please, I don't want to be forced to also put each job in a stage, it's weird.
I think there a few things like this in GitLab (like the ability to run pipelines against both commits and pull requests) - GitLab give you a lot of flexibility... but so far it's all just been extra bother to deal with.
I disagree. Actions is really nice and I don’t have to set up and debug runners. In GitHub, I can have dedicated runners if I want, but99% of the time, I just use vanilla Ubuntu runners.
My fear though is that GitHub will Jack up their prices once I’m running everything. Right now they give 50k minutes per month, but that could change at any point. GitHub enterprise started out at $8/month and now it’s $20+.
- I've had tons of issues with their kubernetes runners, hard to debug spurious system failures
- They still don't display the last N bytes of the logs when logs get long, just the first N bytes, which is entirely useless when a build fails
- It's awfully slow to navigate through pipelines, in particular child pipelines
- The `stages` things is just useless noise, I just wanna specify dependencies please, I don't want to be forced to also put each job in a stage, it's weird.
- You can't expose a secret only to a single job step; they don't really have finer granularity for job steps like Github Actions has -- they just generate a script.sh that's executed directly.
- Github has many more reusable actions from the community, I don't think Gitlab has that at all? At least not in a convenient way.
[1] https://gitlab.com/gitlab-org/gitlab/-/issues/395964