Files
chatmail-core/scripts
link2xt b4209fac2e ci(concourse): install venv before trying to use it
This is a follow-up to cbe1671104

I changed `apt-get` arguments for x86_64 glibc builds,
but forgot to change it for x86_64 musl, aarch64 glibc and aarch64 musl.

Because of this, `upload-wheels` task failed with a message:
```
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt install python3.11-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.
```
2023-06-16 19:15:05 +00:00
..
2023-01-20 16:53:21 +00:00
2023-03-25 19:54:24 +00:00
2022-07-07 00:31:57 +00:00
2023-03-29 10:56:22 +00:00

Continuous Integration Scripts for Delta Chat

Continuous Integration, run through GitHub Actions and an own build machine.

Description of scripts

  • clippy.sh runs cargo clippy for all Rust code in the project.

  • deny.sh runs cargo deny for all Rust code in the project.

  • ../.github/workflows contains jobs run by GitHub Actions.

  • remote_tests_python.sh rsyncs to a build machine and runs run-python-test.sh remotely on the build machine.

  • remote_tests_rust.sh rsyncs to the build machine and runs run-rust-test.sh remotely on the build machine.

  • run-doxygen.sh generates C-docs which are then uploaded to https://c.delta.chat/

  • run_all.sh builds Python wheels

  • zig-rpc-server.sh compiles binaries of deltachat-rpc-server using Zig toolchain statically linked against musl libc.

  • android-rpc-server.sh compiles binaries of deltachat-rpc-server using Android NDK.

Triggering runs on the build machine locally (fast!)

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 Libera Chat) 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

coredeps/Dockerfile specifies an image that contains all of Delta Chat's core dependencies. It is used to build python 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 coredeps

Additionally, you can install qemu and build arm64 docker image on x86_64 machine: apt-get install qemu binfmt-support qemu-user-static docker build -t deltachat/coredeps-arm64 --build-arg BASEIMAGE=quay.io/pypa/manylinux2014_aarch64 coredeps