godotengine / godot-website

The code for the official Godot Engine website. A static site built using Jekyll.
https://godotengine.org
MIT License
280 stars 138 forks source link

Consider setting up LFS for files in `storage/` #832

Open snoopdouglas opened 2 months ago

snoopdouglas commented 2 months ago

Cloning this repo requires quite a large download (~700MB), even with --depth=1. A quick du indicates that most of the heft is in storage/ (which isn't all that surprising!) There aren't any absolutely massive files, but there are lots of videos and GIFs around the 3-6MB mark.

I want to submit a small CSS patch by editing the code locally, so most of this data is wasted on me. Not sure how often PRs like this get merged, but I wonder whether LFS could be set up so that downloading these files is optional.

coppolaemilio commented 2 months ago

Our goal is to move all the storage into its own server, we just haven't gotten around to do it yet. Moving to LFS won't really fix this issue. Thanks for bringing it up again, we'll see what we can do.

Calinou commented 2 months ago

Note that removing storage/ won't reduce repository size if you clone it without --depth=1 later on.

I personally don't think 700 MB is excessive for a Git repository in 2024[^1], and having files accessible easily makes contributing new blog posts easier. If we have a separate storage/ location, contributors will need to manually upload files to it (either after being given access, or by asking a maintainer to upload the file for them). This can add significant friction to blog posts not written by maintainers.

Of course, this size will keep growing over time, but I think it'll be a while until we reach the 1 GB mark. By that time, average connection speeds and storage sizes will have evolved too. In terms of file size, what was considered unacceptable 10 years ago may turn out just fine today.

I definitely don't think we should be using LFS though, given its usability issues and bandwdith limits.

On the bright side, moving storage/ to its own server will allow setting up an image/video CDN to deliver more optimized files. This is something that's harder to achieve with purely static hosting.

[^1]: I have memories of cloning a set of repositories that amounted to 12 GB back in 2010 on a slow ADSL connection… now that was something :slightly_smiling_face:

coppolaemilio commented 2 months ago

The idea for moving the storage/ to a different server was to also provide a front-end that people can use to upload the files without having to go through git. And yes! a CDN for it as well would improve things.

fire commented 2 months ago

Github makes using git-lfs very difficult. In my experience in a popular repository the free tier runs out in about a day.