1
0
Fork 0
mirror of https://github.com/deltachat/deltachat-core.git synced 2025-10-05 19:42:04 +02:00
deltachat-core/ci_scripts/README.md
holger krekel 515e5ebba7
replace travis with circle-ci, cleanup of build steps (#639)
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.
2019-04-01 09:45:56 +02:00

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`