Continuous Integration, run through GitHub Actions and an own build machine.
-
../.github/workflowscontains jobs run by GitHub Actions. -
remote_tests_python.shrsyncs to a build machine and runsrun-python-test.shremotely on the build machine. -
remote_tests_rust.shrsyncs to the build machine and runsrun-rust-test.shremotely on the build machine. -
doxygen/Dockerfilespecifies an image that contains the doxygen tool which is used byrun-doxygen.shto generate C-docs which are then uploaded viaci_upload.shtohttps://c.delta.chat/_unofficial_unreleased_docs/<BRANCH>(and the master branch is linked to https://c.delta.chat proper).
There is experimental support for triggering a remote Python or Rust test run from your local checkout/branch. You will need to be authorized to login to the build machine (ask your friendly sysadmin on #deltachat freenode) to type::
scripts/manual_remote_tests.sh rust scripts/manual_remote_tests.sh python This will rsync your current checkout to the remote build machine (no need to commit before) and then run either rust or python tests.
coredeps/Dockerfile specifies an image that contains all of Delta Chat's core dependencies. It used to run python tests and build wheels (binary packages for Python)
You can build the docker images yourself locally to avoid the relatively large download::
cd scripts # where all CI things are docker build -t deltachat/coredeps docker-coredeps docker build -t deltachat/doxygen docker-doxygen Additionally, you can install qemu and build arm64 docker image: apt-get install qemu binfmt-support qemu-user-static docker build -t deltachat/coredeps-arm64 docker-coredeps-arm64