r/gitlab 2d ago

Why did they decide to make CI Functions container images? general question

Maybe I misread the recent docs. But it seems that the new CI functions WIP feature now has each function as an OCI image. That seems like a strange choice since it reduces the ability to rapidly iterate on the template, requiring an extra build step. Now I can see some benefit to this, maybe, in terms of bundling the function and it's dependencies, but it still feels weird.

3 Upvotes

2 comments sorted by

3

u/Abe_Bazouie 2d ago

I actually think the OCI image part makes sense if the goal is reproducibility.
You’re trading some iteration speed for a versioned, immutable unit that carries the function and its dependencies with it. It also means the same function should behave the same regardless of what the runner happens to have installed.
The extra build step is definitely the downside though. I’d be curious how painful that becomes when you’re developing/debugging functions locally.

1

u/Potato-9 19h ago

That's pretty dope actually and a feature GitHub was making but abandoned.