I would like to know the reasoning why Zig chose Codeberg instead of self-hosting something like gitea or forgejo.

Seems to be a safer bet to limit hosting related weaknesses and unknowns, considering move from github being quite disruptive already.

We always have the option of exiting Codeberg to a self-hosted Forgejo instance if that should become necessary for some reason. (Not that I expect it will, considering Codeberg is a non-profit.)

We do self-host all our CI machines.