I’d like to move our extension repo to our own server (exceeded git-lfs limits on GitHub), but our servers aren’t public facing. If I wanted to whitelist the build machines (instead of just *.kitware.com), can I whitelist overload, metroplex, and factory-south-macos?
How did you manage to exceed git-lfs limits (what kind of data you found useful to store in the repository that was too big)?
Did you find git-lfs a robust solution overall (when we evaluated it about a year ago I read lots of complaints about various errors that were hard to diagnose and clean up)?
Did you consider using CMake’s ExternalData infrastructure instead? It can work with almost any kind server, including github releases, which do not have any restriction on the amount of data you store there (this is how we host SlicerTestingData).
Github releases would be good fit for storing CNN models.
You can download the files using slicer.util.downloadFile at runtime as needed. The file is automatically cached locally and re-downloaded only when needed. Correct download and consistency is checked using md5/sha sums.
process_release_data.py utility script allows batch synchronization of all files between a local folder and a github repository in a way that the github release URLs can be used in CMake ExternalData (so CMake can download the files automatically at configuration time).