Skip to content

Create go binary to execute hooks

John Cai requested to merge jc-hook-binary into master

This is a follow up from: !1321 (comment 183988119)

This binary is the first step in migrating away from ruby hooks to a pure go implementation. This first step adds a go binary.

Current execution path:

  1. ReceivePath RPCs sets core.hooksPath=ruby/git-hooks
  2. ruby/git-hooks/<pre-receive>|<post-receive>|<update> runs ruby/gitlab-shell/<pre-receive>|<post-receive>|<update>

New execution path:

  1. ReceivePath RPCs sets core.hooksPath=ruby/git-hooks
  2. ruby/git-hooks/<pre-receive>|<post-receive>|<update> runs bin/hooks <pre-receive>|<post-receive>|<update>
  3. bin/hooks calls ruby/gitlab-shell/<pre-receive>|<post-receive>|<update>

Part of: #1701 (closed)

Closes: #1859 (closed)

Edited by GitLab Release Tools Bot

Merge request reports