ocaml-docs-ci
ocaml-docs-ci copied to clipboard
Use publishers instead of builders for prep / compile / gen
Currently, we're using Current_cache.Make
(https://ocurrent.org/current/Current_cache/Make/index.html) to cache builds.
However, some situations might lead into inconsistencies between the data server and the ocurrent state:
- compile package
a.1.0
with voodoo versionx
: outputs files intop/a/1.0
and obtain the hashh-x
- compile package
a.1.0
with voodoo versiony
: outputs files intop/a/1.0
and obtain a new hashh-y
- rollback voodoo and thus compile package
a.1.0
with voodoo versionx
: cache hit, no rebuild, returns hashh-x
even if the hash of the files on the server is stillh-y
Current_cache.Output
(https://ocurrent.org/current/Current_cache/Output/index.html) is more appropriate to reflect what we're doing. In the previous example, the key would be a.1.0
and the value the voodoo version.
Obviously making the changes will trigger a full rebuild
Related to https://github.com/ocurrent/ocaml-docs-ci/issues/121