This weekend, 45 minutes before I was going out for tapas with old friends in Spain, I got an email that GitLab had stopped working with WP Pusher. I quickly tested on one of my test sites and sure enough nothing worked. Ouch.
If you are using GitLab with WP Pusher, please make sure you have upgraded all your sites to v2.4.7. If you are still having issues after upgrading, please report them to firstname.lastname@example.org.
When I originally added GitLab support to WP Pusher, it wasn’t as straight-forward as Bitbucket and GitHub. I was very hesitant in the beginning since demand was pretty low. Today GitLab is still way behind GitHub and Bitbucket in terms of WP Pusher users. I don’t have exact numbers on this, because I don’t track my users, but judged on the number of support emails it’s a fraction of my users.
The reason why it wasn’t straight-forward to support GitLab was that they didn’t support Git exports in their API, which WP Pusher relies on. However it was possible to download the archived repository via the regular web interface with a token and Basic Authentication. That was pretty much the only solution and the one I opted for. The problem with not using the API, however, is that the web interface is not versioned and therefore can break. This is pretty much what happened. GitLab changed how this worked and changed the way an archive is downloaded via their web interface.
Thankfully the fix was pretty small because GitLab has since added support for exports in their API. I was able to update WP Pusher to use the GitLab API with the users’ existing tokens, which was a relief. This means that after updating WP Pusher, GitLab should work again.
Why did it happen?
This was something that could eventually happen without notice. I knew that when I decided to “hack” support for GitLab. The reason it happened without me realizing it was only my fault. I don’t have a test setup that test the integrations on an ongoing basis. This is honestly something I should have made sure was running, before an incident like this happened and it is obviously very high on my list to get done now. For that I’m sorry.
Will it happen again in the future?
Hopefully not, but breaking changes are tricky. What I can promise is that I will make sure to have better monitoring and tests of things like this, to prevent it from happening in the future. This is why you need continuous integration for your projects. I should know better.
So once again, to all the WP Pusher GitLab users: I’m sorry!
If updating doesn’t solve the issue for you, please reach out to email@example.com
Thank you for your understanding 🙏