ReactiveBayes / RxInfer.jl

Julia package for automated Bayesian inference on a factor graph with reactive message passing
MIT License
237 stars 24 forks source link

The repository is large #198

Closed bvdmitri closed 5 months ago

bvdmitri commented 6 months ago

Clean git clone takes more than 1GB

→ du -hs RxInfer.jl
1.3G    RxInfer.jl
bauglir commented 6 months ago

This is primarily due the gh-pages branch and the Documenter output hosted there. Images, etc. tend to be regenerated for each build and that easily adds up. It looks like currently deploys "per version" sit around 25MB each.

Consider the following output generated when checking out the gh-pages branch (I removed the .git folder).

$ du -h -d 1
18M ./v2.6.0
17M ./v2.3.0
23M ./v2.12.0
17M ./v2.2.0
18M ./v2.11.0
22M ./v2.11.3
22M ./v2.14.1
16M ./v2.0.1
23M ./v2.13.0
24M ./v2.14.2
28M ./v2.11.1
18M ./v2.10.3
792K    ./v1.1.0
18M ./v2.8.0
22M ./v2.13.2
22M ./v2.14.0
18M ./v2.9.0
18M ./v2.10.1
23M ./v2.15.0
18M ./v2.10.2
18M ./v2.5.0
18M ./v2.7.0
16M ./v2.0.2
18M ./v2.4.0
23M ./dev
18M ./v2.10.4
17M ./v2.3.1
18M ./v2.4.1
22M ./v2.11.2
16M ./v2.0.0
16M ./v2.1.0
780K    ./v1.0.0
576M    .

This gets exacerbated by the fact that every commit to main results in a new deployment, i.e. a regenerated dev, which will amount for a large part of the remaining 800MB and stays in Git "forever".

You'll want to set something up using, for instance, git-filter-repo on the gh-pages branch to clean out old deployments to dev, potentially remove older versions of documentation and only keep the last release for a minor, etc.

bvdmitri commented 5 months ago

This task has been added to the milestone for tracking and prioritization.

bvdmitri commented 5 months ago

Thanks @bauglir , I ended up wiping the entire gh-pages and recreating it with the orphan status. It helped for now

→ du -hs .
165M    .
bauglir commented 5 months ago

Depending on whether you'd like to maintain some form of history, the easiest solution to prevent this from becoming too bad is to set the forcepush option to deploydocs to true so that any deployment overwrites the previous deployment.