Release Process
A Racora release is a version tag, vX.Y.Z. Cutting it takes the component versions
versions.yaml pins on that commit, the ones every change before it was checked against,
builds Racora's own images at their own versions, mirrors every image and the pinned
upstream k3s binary into Racora's registries, bakes the image pins into the chart, and
publishes the release with these assets:
| Asset | What it is |
|---|---|
racora-X.Y.Z.tgz | the Helm chart with the pins baked into its defaults; also pushed as an OCI artifact |
racora-crds.yaml | the NRCell and Subscriber CRDs, one file |
chart-values.yaml | the release pins as values |
racora-installer-vX.Y.Z.tar.gz | the installer package: the front door, the platform and core modules, the node provisioner, the node contract |
k3s, sha256sum-amd64.txt, k3s-version.txt | the upstream k3s release, mirrored and checksum-verified |
SHA256SUMS | covers the chart, CRDs, pins, installer package and k3s version |
The offline image archive is built separately, on request, for a release; a release whose page lists no archive installs online only (Use Your Own Registry or Install Offline).
Every change is gated in CI before it merges, and every tag runs the integration suites, which install the RAN on each supported platform, declare cells and subscribers, and upgrade from the previous published release.
Bringing In a New gNB
A new gNB image, or any other component image, enters as a candidate before it is
pinned. A pipeline run started by hand with RACORA_INTAKE_GNB_REF set to a git ref of
an OCUDU source (RACORA_INTAKE_GNB_SOURCE, CNS OCUDU by default) builds the gNB from
that ref with its own Dockerfile, publishes it as gnb:<YYYYMMDD>_<sha8> in Racora's
registry, and installs it in every integration suite of the run. A run with
RACORA_CANDIDATE_IMAGES (component=tag, several separated by commas) does the same
for images already published anywhere. A green run is followed by a change to the pin in
versions.yaml, merged like any other. What the suites check of a gNB is The gNB
Contract.
Published releases start at v0.8.0. They are listed, with the component versions each one pins, on Release History; how versions relate is Versions and Compatibility.