Skip to content

Custom hooks no longer executed following update to Gitlab 13.0

This afternoon I upgraded our self-hosted Gitlab CE instance (located at https://invent.kde.org) to Gitlab 13.0 which as part of the upgrade also included updates to Gitaly.

Following this upgrade however it was noticed that our custom hooks (integrated using the custom_hooks_dir setting in gitlab-shell) were no longer being executed in any form (regardless of the hook type)

Investigation shows that gitlab-shell itself no longer contains any reference to the custom_hooks_dir preference anywhere within it's configuration.

Examination of the Gitaly code indicates that responsibility and handling for that preference has been transferred fully over to Gitaly now, and should instead be set within the config.toml file used by Gitaly.

No notice was made of this transfer or need to make this change within any Release Announcement or other upgrade documentation, and the Custom Hook support documentation (at https://docs.gitlab.com/ee/administration/server_hooks.html) still refers to the old location.

This appears to me to be a CRITICAL regression, with potential security implications depending on the Gitlab installation.

In our case it means code can be introduced without certain sanity checks being made, means our (currently separate) CI system is not triggered and that notifications to mailing list and discussion channels and processing of other commit actions (such as closing bugs on our separate bug tracker) do not take place, all items that our developers expect to happen, so it is highly distressing that this change was introduced silently.

/cc @rpaik @dplanella @nuritzi

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information