-
-
Notifications
You must be signed in to change notification settings - Fork 55
Release process
Kiwix-build CI is in charge of building the openzim/kiwix projects. Because of this, the release process of each project is a mix of actions to do in each project and kiwix-build repository. This page explains what the different steps to do for a release.
Each project is versioned independently of other projects. We mostly follow the semantic versioning : https://semver.org/spec/v2.0.0.html
As projects depend of each other, we may have to rebuild a project if one of its dependencies has been release, even if the project itself has not changed (mainly to include bug fixes).
In this case, we add a "build number" after the version number. So, a kiwix-desktop version 2.1.0 build for the third time will be tagged 2.1.0-2 (build number starts from 0 and the first build version (0) is not specified).
This build number breaks the semantic versioning as it - is for prerelease.
The code of each project is handled in the corresponding repository. The versioning is made there (by creating tag). The publication of release is handled by kiwix-build. This is kiwix-build which will create the source archive, build the releases on different platform and publish everything.
To do new releases, the process is the following:
The exact process is dependent of the project, but mostly you will have to do :
- Update the Changelog.
- Change the version number of the project.
- (It is the good time to do some checking. As updating the minimum version of the dependencies, readme and so)
- Tag the version using a the release version as tag name
x.y.z. Push the tag on github. - Create the release on github.
Creating release of each project does NOT trigger a build or publication of the release itself.
To do so, you must update the file https://github.com/kiwix/kiwix-build/blob/master/kiwixbuild/versions.py to tell what we want to build.
Follow carefully the comment in versions.py as it is what will define what is the release and what to build.
Once you have made a commit with a up to date "definition" of the release, you must tag the kiwix-build project with a tag r_<number> and push it (the number is not important in itself be we follow a increasing number scheme).
The release process of kiwix-desktop flatpak starts the same way that any other releases.
You have to update the versions.py file and create a tag as describe above.
However, for the publication of the release on flathub, extra steps are needed.
- kiwix-build will push a branch in the repository https://github.com/flathub/org.kiwix.desktop, you must make a PR associated to this branch.
- Once the PR is merged, Flathub's buildbot will launch a new build, you can find it in https://buildbot.flathub.org/#/apps/org.kiwix.desktop
- The new build will be published automatically on Flathub 🎉