CI images and Forgejo actions for native builds.
This focuses mostly on C/C++ toolchains, Vala is supported. Python projects will work as well.
This is a kind of sibling project to the Interpeer project, but stands on its own.
Welcome
Native-CI is a collection of stuff used for native builds on a number of target platforms. It's not universally useful, but it could grow to also include things you might need.
The current setup is aimed to make cross-platform builds with meson easier, and then also package things up as conan packages.
To this end, we maintain a few docker images with tools and compilers pre-installed. And then there are a number of forgejo actions that partially tap into those images.
This project is technically independent of the Interpeer Project, but also was started to support that other project. It has wildly different scope, however, and welcomes contributions whether or not you are interested in Interpeer.
A sibling project, comparable in aiming to support Interpeer but being technically independent, is cultivate. It's a collection of functionality to help maintain clean repositories, and provides some functionality that actions in this project make use of.
One functionality of cultivate is to provide templates for Forgejo workflows and AppVeyor build definitions that can help maintain cross-platform build environments.
Docker Images
The main home of Docker images is here on codeberg.
- lts-base: An Ubuntu base image with updates applied. Splitting this out makes builds of other images much simpler.
- compilers: The above image with additional compilers installed.
- meson: The
compilersimage with meson, conan and other build tools installed. - android-ndk: The
mesonimage, but with the Android NDK installed. This image also contains cross compilation files for meson and conan.
Deprecated:
- cpp-meson: It used to be possible to build a combined image, but the build times on
arm became too long. This is the main reason behind the split into the
lts-base,compilersandmesonimages.
Forgejo Actions
- action-appveyor: Action to trigger builds on AppVeyor CI, i.e. for Windows builds. It also can monitor the result of such builds.
- action-towncrier: Action to run towncrier checks, i.e. this ensures that a branch such as for a pull request also contains changelog fragments that towncrier can assemble.
- action-static-analysis: Action for running static analysis tools such as semgrep and flawfinder.
- TBD