-
-
Notifications
You must be signed in to change notification settings - Fork 46
Kiwix Build usage in CI & CD
Kiwix Build workflow produces a few different things necessary to the Kiwix CI/CD.
Base dependencies are tarballs where third party dependencies are pre-compiled. The purpose of this is to speed-up Kiwix Build own CI. They are available here.
Each time we use the CI/CD of Kiwix Build, it is checked if an appropriate base dependency tarball is available. If "yes" it is downloaded and used, otherwise it will be built and uploaded.
If you need to create a new tarball you can either:
- PREFERED: Increment the version number of them in
kiwixbuild/versions.py
a new version is uploaded - EXCEPTIONAL: Delete the multiple tarballs related to current version in tmp.kiwix.org/ci.
Base dependencies are compiled without debug symbols and usual release options.
The project dependencies tarballs gather, for each Kiwix project, the compiled dependencies necessary to its compilation. These dependencies can be third party or internal libraries (like libzim or libkiwix).
They are available here and are built each night.
Project dependencies (other than base dependencies) are compiled with debug symbols and without usual release options.
Kiwix Build is in charge of the release and nightlies of binaries for many Kiwix project.
Releases are triggered via git tagging.
Official releases are build with usual release options (and without debug symbols) but nightlies are built in debug mode.
Beside the kiwix-build
command line tool, Kiwix Build proposes
prepared compilation environments for multiple GNU/Linux
systems too.
These prepared environments include: compilers, binary toolchains and any third-party tool necessary to run the compilation toolchain. They don't contain pre-compiled library dependencies build by kiwix-build, (like Xapian, Libicu, Libmicrohttps, ...) but it contains dependencies installed with package manager.
These container images are necessary and intended to be used by Kiwix itself in many of its CI. But they are free to download et can be reused, although they can break anytime, therefore at your won risk. You can find them on here.