Files
chatmail-core/ci_scripts
Lars-Magnus Skog a32a275d73 feat: Add utility to convert OsStr to CString (#136)
* Add utility to convert OsStr to CString

This is approach seems acceptable in the context of deltachat, it
should work correctly on unix and on Windows requires paths to be
valid utf-8.

* Use failure crate for error types

* Add OsStrExt impl for Path, fix windows and update docs

- Adds an OsStrExt impl for Path directly, a little more convenience.

- Fix the windows code to actually use the right function name.  Test
  the impl function on unix too since that was the point of having it
  implemented in a separate function to begin with.

- Improve the docs, do hyperlinks a bit better.

* Another attempt at learing to type

Having your compiler in the cloud is just painful.

* Do not treat this as a fatal error

When PRs are made from forks the passwords are unavailable.  We don't
want CI to fail because of this.

* Implement using the AsRef<OsStr> trait

This means any type with implements this trait will get this
implementation, thus covering both OsStr and Path instead of having
duplicate implementations for those like before.

* fix format
2019-06-08 03:04:30 +02:00
..

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