Files
chatmail-core/ci_scripts/README.md
holger krekel 6ce8374513 feat: bring back and adapt python bindings with rust core
* import python, try to adapt for rust

* add missing wrapper functions

* - try to write up how to build python bindings
- strike some unused functions from deltachat.h

* adjustments to make tox work

* try to run circle-ci with python build

* don't do docs

* running cargo test as well

* don't run cargo test anymore, that's done in other ci jobs

* also build docs

* don't run doxygen anymore

* subst C with Rust

* a try to get better wheels

Closes #41
2019-05-30 23:17:38 +02:00

1.6 KiB

Continuous Integration Scripts for Delta Chat

Continuous Integration is run through CircleCI but is largely independent of it.

Generating docker containers for performing build step work

All tests, docs and wheel building is run in docker containers:

  • coredeps/Dockerfile specifies an image that contains all of Delta Chat's core dependencies as linkable libraries. It also serves to run python tests and build wheels (binary packages for Python).

  • doxygen/Dockerfile specifies an image that contains the doxygen tool which is used to generate C-docs.

To run tests locally you can pull existing images from "docker.io", the hub for sharing Docker images::

docker pull deltachat/coredeps
docker pull deltachat/doxygen 

or you can build the docker images yourself locally to avoid the relatively large download::

cd ci_scripts  # where all CI things are 
docker build -t deltachat/coredeps docker-coredeps
docker build -t deltachat/doxygen docker-doxygen 

ci_run.sh (main entrypoint called by circle-ci)

Once you have the docker images available you can run python testing, documentation generation and building binary wheels::

sh DOCS=1 TESTS=1 ci_scripts/ci_run.sh 

ci_upload.sh (uploading artifacts on success)

  • python docs to https://py.delta.chat/_unofficial_unreleased_docs/<BRANCH>

  • doxygen docs to https://c.delta.chat/_unofficial_unreleased_docs/<BRANCH>

  • python wheels to https://m.devpi.net/dc/<BRANCH> so that you install fully self-contained wheels like this: pip install -U -i https://m.devpi.net/dc/<BRANCH> deltachat