FS#74950 - [gitlab-gitaly] Out of date package compared to other gitlab package

Attached to Project: Community Packages
Opened by Fabio (blacklight) - Friday, 03 June 2022, 20:12 GMT
Last edited by Toolybird (Toolybird) - Saturday, 22 October 2022, 21:20 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Anatol Pomozov (anatolik)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No



gitlab-gitaly is one major version behind the other gitlab packages:

$ pacman -Q | grep gitlab
gitlab 15.0.1-1
gitlab-gitaly 14.4.5-2
gitlab-runner 15.0.0-1
gitlab-shell 3:14.7.1-1
gitlab-workhorse 8.65.0-1

So after upgrading the system and restart the gitlab services, any client-side git interactions such as pull/push are broken:

$ git pull
rpc error: code = Unimplemented desc = unknown method SSHUploadPackWithSidechannel for service gitaly.SSHService

`SSHUploadPackWithSidechannel` has been implemented on Gitlab 15: https://gitlab.com/gitlab-org/gitaly/-/issues/4042

So gitlab-gitaly being one major version behind means that the backend does a request to a method that it expects to be there, but it's not.

Please upgrade gitlab-gitaly ASAP. It's been flagged as out of date more than two months ago. Gitlab installations WILL BE BROKEN until this package is upgraded - and I'm surprised that nobody bothered to check this before bumping the gitlab version to version 15.
This task depends upon

Closed by  Toolybird (Toolybird)
Saturday, 22 October 2022, 21:20 GMT
Reason for closing:  Fixed
Additional comments about closing:  See comments
Comment by Fabio (blacklight) - Saturday, 04 June 2022, 09:29 GMT
I have managed to temporarily fix the issue by:

- Downgrading gitlab to 14.10.2-1
- Downgrading gitlab-shell to 13.25.1-1
- Downgrading gitlab-runner to 14.10.0-1 (optional, I guess)

It's the newer version of gitlab-shell that performs the SSHUploadPackWithSidechannel gRPC call (the new default when it comes to SSH functions), and that method is not available on gitlab-gitaly because it's been implemented in a later version.

Please update the package, or at least update the Gitlab wiki to mention that gitlab and gitlab-shell should probably be added to `IgnorePkg` until gitlab-gitaly gets updated.
Comment by Jakub Klinkovský (lahwaacz) - Monday, 06 June 2022, 12:57 GMT
I managed to build gitlab-gitaly-15.0.2-1 with this updated PKGBUILD and ruby27.patch. So far it seems to work fine with gitlab-15.0.1-1
Comment by Siwei Luo (sluo) - Monday, 06 June 2022, 17:47 GMT
Thank you for your contributions, confirming lahwaacz's patches working on my installation as well so far!
Comment by Anatol Pomozov (anatolik) - Wednesday, 08 June 2022, 17:20 GMT
I was trying to move gitaly to the latest version and found that it depends on system libgit2. The problem is that gitaly uses a legacy version of libgit2 while Arch moved to the latest stable release already.

One way to resolve the issue is to introduce a legacy version of libgit2
Another way is to make libgit2 embeddable to gitaly and avoid hard version dependencies to systems' libgit2. Here is the upstream ticket https://gitlab.com/gitlab-org/gitaly/-/issues/4219
Comment by Anatol Pomozov (anatolik) - Wednesday, 08 June 2022, 17:22 GMT
I'll check Jakub's patches and try to bring gitaly to 15.0.2
Comment by Anatol Pomozov (anatolik) - Wednesday, 08 June 2022, 17:40 GMT
With 15.0.2 release my build does not fail due to outdated libgit2. I see that libgit2 is downloaded and built as an embedded library.

I pushed 15.0.2 with Jakub's changes to the testing repo. Please try it and let me know if you see any issues.
Comment by Fabio (blacklight) - Tuesday, 14 June 2022, 07:19 GMT
I can confirm that the latest version seems to work fine - or at least, I can pull/push over SSH without issues.