cranhaven / cranhaven.r-universe.dev

WARNING: This is a proof-of-concept idea - it might be removed again
https://cranhaven.r-universe.dev
MIT License
5 stars 0 forks source link

Mono repo for CRANhaven packages: No space left on device fatal #1

Closed HenrikBengtsson closed 4 months ago

HenrikBengtsson commented 4 months ago

GitHub Actions (https://github.com/r-universe/cranhaven/actions/runs/8132443596/job/22222883473) reported:

Cloning into '/tmp/RtmpkFkHCI/cranhaven-universe/utr.annotation'...
error: unable to write file packages/eiCompare/vignettes/para_benchmark_box_nsamples.png
error: unable to write file packages/eiCompare/vignettes/parallel_processing.Rmd
error: unable to write file packages/eiCompare/vignettes/performance_analysis.Rmd
error: unable to write file packages/eiCompare/vignettes/voter_data_df.PNG
fatal: cannot create directory at 'packages/elfgen': No space left on device
fatal: unable to checkout submodule 'utr.annotation'

I suspect this is because each submodule holds a full copy of https://github.com/CRANhaven/cranhaven.r-universe.dev, so this grows exponentially. To avoid this, R-universe would have to filter the submodule to only contain the folder of interest, e.g.

git filter-repo --path <subdir> --invert-paths
git reflog expire --expire=now --all
git gc --prune=now --aggressive

Before anything like that is in place, the workaround is probably to clone each package to its own repository.

HenrikBengtsson commented 4 months ago

Will first attempt using separate branches for each package, e.g. package/<name>.

HenrikBengtsson commented 4 months ago

Moved to the branch approach. Seems to work. Solves also the 'commit' date stamp.