-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
suggestions for large repository #22
Comments
I have similar problem.
I solved it with: steps:
- name: Clone working branch
run: git clone --single-branch --branch ${{ github.head_ref }} --depth 1 https://${{ secrets.CLONE_TOKEN }}:x-oauth-basic@github.com/${{ github.repository }}.git . Shallow clone takes ~ 30 seconds. Maybe we need an official shallow-clone action? |
@zoispag just curious what was the scope applied to |
@softprops I gave repo access. |
Thanks. It would be great if In any case I tried your solution and it worked! down from 7 minutes I'm at about 1m 22s. That's a huge savings. Thank for for posting a reply and sorry I was late to notice it! |
No worries for late replying! 7m to 1m22s is a huge improvement, so happy to help! 🎉 😁 |
Codified what worked for us here |
@softprops I wanted to do the same, but didn't have the time yet. |
This is definitely something that needs to be improved. Fetching all tags and branches can be slow. |
fixing this in v2, will hopefully merge early next week |
@softprops @XhmikosR checkout |
@ericsciple I've enabled it in our repo and we went from 30-40 seconds checkouts to 5-7 seconds ❤️ (even in our teeny tiny 12k commits repo) this is gut! I can only imagine what actual bug repo's will see as improvements! Thanks for all the work from you and everyone involved! |
I haven't had a change to take a look yet but would it be possible to post a comment to this issue when there's an official v2 release published? |
I just ran a benchmark on our largest repo. This now comparable in performance to our work around. As soon as the beta version changes to v2 we're just going to switch to actions/checkout proper |
published |
Works great! Thanks folks |
I'm experimenting with Github Actions on a large code repository at
$WORK
. We use a mix of Concourse ci and Jenkins and are looking towards Github Actions as a potential CI/CD tool with less hosting maintenance.In some simple experiments we found the actions/checkout command to be slower that expected. A checkout step takes
~6m 53s
usingwith.fetch-depth: 1
, and that's before my job can do anything useful.In our Jenkins set up we have a persistent clone that we do local clones from. In concourse we use the git resource. In both cases the process of fetching a given version of the code feels faster than actions/checkout and was wondering if there as any actions tuning parameters would could apply to speed up the process
I can see a glimpse into what the action is doing in the output.
Is there a way we can opt out of features like fetching all of the tags (we have a lot of tags) or submodules (we don't use submodules)?
I started looking at want concourse git resource does to draw some comparisons. Looking here I can see it does something like a clone + checkout operation
I'm not sure if that's any better or worse our experience is that it "feels" more performance that what we see with github actions/checkout.
The text was updated successfully, but these errors were encountered: