-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
upgrade git to 2.18+ for better compatibility with github actions #351
Comments
Hi @andreineculau, I was checked and detected that the Regards, |
Hi @andreineculau, please ignore my comment above, because you are you're right, the issue shows in versions of OTP Regards, |
Hehe I didn't understand your comment so I was checking your commits in the branch. But back on topic, I noticed the same 2.20.1 - my bad as I didn't check before opening the issue. It was a behavior that I observed many months ago in January for-GET/jesse#98 (comment) I'll give it a shot to remove the fix and come back to hopefully close the issue. Thanks for looking into this. Sorry for the noise |
no go. git is older (2.11.0 to be exact) on multiple images - 19 to 21.3 and 22.1 https://github.com/for-GET/jesse/actions/runs/883210655 |
Yep, looks like issue in build image from apt-get update
apt-get -y install tcl tcl-dev gettext
cd /usr/src/
wget https://github.com/git/git/archive/v2.18.0.tar.gz -O git.tar.gz
tar -xf git.tar.gz
cd git-*
make prefix=/usr/local all
make prefix=/usr/local install to all |
I can assume why, but since assumption is the mother of all evil, could you clarify? |
I suppose, because will be needed do step by step for all official docker images and also search and roll back changes that were up to the latest versions in the master. Like: revert changes for all old OTP images |
In other hand 🙃 based on:
The dates of OTP releases is from 2016 till 2018 which means that the git at that time was lower |
I'm wondering if you would consider bumping the git to 2.18 or greater on your images.
The background of this request is that the Github Actions' Checkout action (that's a mouthful!) falls back to checking out via REST API (source: https://github.com/actions/checkout#whats-new) when git version is below 2.18. What this means is that you actually get a snapshot (archive) of your sourcecode rather than all commits, tags, etc.
Github's reasoning is not compelling, but the argument goes that git 2.18 implements support for partial clone via transport protocol v2 which decreases the load on Github's side. There is no way to tell the action to go ahead with a regular clone, despite the presumable higher load on Github, even if it's negligible for small repos.
So for instance in testing jesse on Github Actions with your images, on every run there's a 2-3 minute "waste" installing git 2.18 plus its dependencies (source: https://github.com/for-GET/jesse/blob/master/.github/workflows/ci.yml#L51-L58). In order to remove that waste, it's a question of upgrading git on your images or forking github's action to checkout as usual, just without the partial clone via transport protocol v2.
Thanks in advance!
The text was updated successfully, but these errors were encountered: