Skip to content

Release Process

rgaudin edited this page Nov 25, 2025 · 1 revision

With the introduction of the H1, we've decided to stop automatically publishing new IMGs every month and follow a manual release process, ensuring we know exactly what's in which release and thus improve general quality.

An IMG is composed of both a technical stack and a content selection. The technical stack is eventually represented by a release number (currently in the form of YYYY-MM). The content selection is not versioned.

Note

The version number shown in the Kiwix Hotspot's About page is the one of the software stack. It is not impacted by the content selection.

What triggers a release

There is no rule at this stage. We only had two releases so far after the H1 launch: one was due to a technical incident removing the IMG files from hosting, the second one was content-driven with the arrival of a new, long-awaited WP-en.

It is fair to say that need is the trigger at the moment. Be it new features, new content, content update or any sales/marketing reason.

Release actions

# Person Action
1 anupulu, Popolechien Update Content Selections
2 rgaudin A new Release in offspot/overview.
3 rgaudin Change version number in imager-service
4 rgaudin Trigger Demo image rebuild
5 rgaudin Test of Demo image for regression
6 rgaudin Trigger Auto-images rebuild in imager-service
7 - Images gets built and uploaded
8 - Shop is updated to send new images links
9 - Images gets downloaded and deployed in Demo

Note

At the moment, because of the download/upload speeds the whole process can take 24h-48h.

Steps

Update Content Selections

In imager-service, we have 5 configurations in the Kiwix silo that corresponds to the Content Bundles we sell:

Updating their content is not part of the release process (see https://github.com/offspot/shop/issues/203 instead).

Each of those config needs to be opened in imager-service in order to check if there are warnings. Warnings appear when a content on the configuration is not available anymore using the same ID in the catalog. It can be because the ZIM was renamed or because it was completely removed. Check with the Content Team and within the catalog.

Warning

Once the warning is shown, Saving the config removes all the references to the dangling ZIMs! Copy the warning when shown, then save and make your updates/fixes.

Release in offspot/overview

If there are unreleased (but ready) features in sub components, it can take some time to follow the Deployment Process, also visible in the Release ticket.

This step requires gathering and summarizing the changelog from all components.

Change version number in imager-service

Change version number in imager-service (content-only hack)

Test of Demo image for regression

Simple end-to-end test (download, flash, run) the Demo IMG (connect, captive portal, dashboard, ZIM) for obvious defect/regression.

Content is not tested.

Trigger Auto-images rebuild in imager-service

Using imager-service UI (scheduler).

Implies a check of all configs for accidental edits of SSID, Name, Credentials, Password and options.

Clone this wiki locally