nightlies
nightlies copied to clipboard
Produce JSON manifests for nightlies
Problems with the current release system:
- Github Release API requires pagination and repeated queries will result in throttling
- Limited in terms of metadata:
- We can't provide os-arch -> binary mapping, instead the user must parse each asset name, which can be error prone.
- We can't provide build flavors, for example debug builds for
devel.
- Any changes are likely to cause tooling breakage, even adding metadata can break other tools.
-
latest-*tags requires synchronization: In the future we will want to offload arm builds to Drone CI, which mean the current scheme of "dependent jobs" (update latestjobs depending onbuild release nightliesto complete) will no longer work as they can not synchronize between different platforms.
A solution would be to produce JSON manifests, exposed via Github Pages so that interested parties can access via https://nim-lang.github.io/nightlies to get links to assets they need.
With JSON manifests:
- Adding fields are transparent, it won't affect the user if they don't know about it
- Changing formats can be done without breakage, by providing them at a different location (ie. https://nim-lang.github.io/nightlies/v2)