mirror of
https://github.com/deltachat/deltachat-core.git
synced 2025-10-05 19:42:04 +02:00

Travis is getting slower and was already hard to debug. This commit: - moves from travis to Circle-CI - has a ci-scripts/README.md which explains what is contained there - puts all build and CI scripts into "ci_scripts" directory - allows to run full ci runs locally - trims down the base Docker image where tests/docs/wheels are run from 4.4GB to 1.7GB - fixes #628 Using circle-ci also means that we can probably integrate Mac-OS build steps more easily. I am sure that my initial circle-ci config (helped by kind hints from @dignifiedquire ) can be improved.
52 lines
1.6 KiB
Markdown
52 lines
1.6 KiB
Markdown
|
|
# 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`
|
|
|
|
|
|
|