Open joeflack4 opened 1 year ago
The prepare_release
goal in the ODK should also take care of computing the hashes for the release products, otherwise I fear that nobody is ever going to take the time to make the .md5
files “manually“.
If for some reason it's impossible for the artefact publishing party to store the hash at a URL with the pattern described above, perhaps they could store it somewhere else (ideally another file at a URL with no contents other than the hash) instead, and we could have some kind of registry for those URLs.
Very reluctant to do that. We are already dependent on one centralised system (purl.obolibrary.org) to distribute the ontologies themselves, let’s not add another one just to distribute the hashes.
If the “publishing party” can host somewhere artefacts that are easily in the range of dozens if not hundreds of MB, surely they can host hash files. If they can’t, too bad, but let’s just download the artefacts systematically then.
Overview
Some
make
goals involve downloading the latest releases of artefacts at some stable URL. However, oftentimes when the goal is run, there has not been a change to the release artefact and the goal downloads it anyway. This results in slower build times.One solution: Add a way to set/get file hashes (e.g. MD5). Before downloading, check the local hash against the hash at the remote. If they are the same, skip the download.
Implementation
[NORMAL_ARTEFACT_URL].md5
For examplehttps://github.com/monarch-initiative/omim/releases/latest/omim.ttl.md5
TRUE
if the hashes match).If for some reason it's impossible for the artefact publishing party to store the hash at a URL with the pattern described above, perhaps they could store it somewhere else (ideally another file at a URL with no contents other than the hash) instead, and we could have some kind of registry for those URLs.