-
-
Notifications
You must be signed in to change notification settings - Fork 2
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
feat: paper feedback #29
Conversation
When provisioned for the first time, it further installs software, compiles programs, and clones the preCICE tutorials\footnote{\url{https://github.com/precice/tutorials/}}. | ||
This means that we only have reproducibility when fetching the VM from vagrant cloud~\footnote{\url{https://app.vagrantup.com/precice/boxes/precice-vm}}, as we can not rebuild the VM from scratch, because the provision step currently fetches files from the internet that are at this very point in time the \textit{latest} version, i.e. the main branch of the preCICE repository rather than a pinned tag or commit. | ||
Making us dependent on vagrant cloud to continue to serve the box. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is better than before but, just for the sake of discussion, I think the main issue here that prevents reproducibility is not fetching the latest versions (this is just a matter of which versions are specified in the provisioning scripts).
Instead, an actual issue is that the Ubuntu repositories (and maybe other related repositories) eventually become unavailable.
Also, the box does not need to be hosted on Vagrant Cloud, but it can also be shared on via any shared file system or similar. It is just one (very big) file.
An issue here in the future might be that the specific vagrant box file (which is prepared for a specific major version of VirtualBox) is not compatible with future versions of VirtualBox or Vagrant itself.
The current solution of requiring to clone the code into a specific directory works, but it might be better to look into Git submodules, as this would result in a more portable solution. | ||
This would, moreover, allow pinning the version of the original code compared to only documenting it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some other projects (e.g., I am currently reviewing a JOSS paper for GEOS: https://github.com/GEOS-DEV) use their own mirrors for third-party libraries / dependencies, for reproducibility / availability / security reasons.
No description provided.