nightlies icon indicating copy to clipboard operation
nightlies copied to clipboard

Produce JSON manifests for nightlies

Open alaviss opened this issue 5 years ago • 0 comments

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 latest jobs depending on build release nightlies to 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)

alaviss avatar Jan 09 '21 00:01 alaviss