Skip to content

Versions DB

David Anthoff edited this page Nov 27, 2022 · 2 revisions

Here is a rough schematic how the Juliaup versions DB is updated:

versiondbupdates

The flow is as follows:

  1. The Update Version DB workflow is in charge of transferring the information from the official Julia versions.json into the Juliaup world. At the moment the workflow must be triggered manually, in the future we should trigger it automatically whenever versions.json is updated.
  2. The workflow first downloads versions.json, then generates from it the versions db files that make up a complete Juliaup version database. It then downloads a copy of the current latest version db from the Juliaup S3 storage, diffs the newly created version files with the ones downloaded from S3 and then decides whether in fact an update is necessary at all [note this is currently not implemented, at the moment the workflow always updates, even if there is no change]. If an updated is needed, the workflow will increase the version of the version db, package everything up and then wait for various GitHub environment gates.
  3. The first gate is a generic gate whether the new version of the versions DB should be pushed forward at all. If approved, the workflow will a) upload the new versions DB to the S3 Juliaup, and b) open a PR against the Juliaup repo that would incorporate the new versions DB into the Juliaup binaries (i.e. the vendored versions DB).
  4. There are also three more environment approvals pending at this point. These correspond to updates of the release, releasepreview and dev channel with the new versions db, i.e. one can control separately which of these Juliaup channels should get the new versions db.
Clone this wiki locally