# Continuous Integration Scripts for Delta Chat Continuous Integration, run through [GitHub Actions](https://docs.github.com/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. - `codespell.sh` spellchecks the source code using `codespell` tool. - `../.github/workflows` contains jobs run by GitHub Actions. - `run-python-test.sh` runs CFFI Python tests. - `run-rpc-test.sh` runs JSON-RPC Python tests. - `make-python-testenv.sh` creates a local python test development environment with CFFI bindings. Reusing the same environment is faster than running `run-python-test.sh` which always recreates environment from scratch and runs additional lints. - `make-rpc-testenv.sh` creates a local python development environment with JSON-RPC bindings, i.e. `deltachat-rpc-client` and `deltachat-rpc-server`. - `remote_tests_python.sh` rsyncs to a build machine and runs JSON-RPC Python tests remotely on the build machine. - `remote_tests_rust.sh` rsyncs to the build machine and runs Rust tests 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 - `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.