Hi,

I'd like to announce that we now have a (somewhat) working system for doing
continuous integration (CI) of the LyX master branch on Linux.

The system is currently doing this:
- Polls the LyX repository at git.lyx.org  (every few hours)
- If branch 'master' has changed, then it builds LyX in two different
configurations
  - Ubuntu 16.04, Qt4, Autotools
  - Ubuntu 16.04, Qt5, CMake

You can see the status of some CI jobs on this web page:
   https://ci.inria.fr/lyx/job/build-master-head/

The CI platform is provided by Inria, thanks to Jean-Marc and Guillaume.
Joel has also been part of the discussions, and talking with them led to me
setting up this CI system for LyX.
For access to the CI server etc, contact Jean-Marc or Guillaume.

The CI server is a Jenkins instance that distributes jobs to virtual
machines (CI workers), where we today currently use two Linux VMs. The
actual building of LyX is done by Docker containers, one container for each
configuration as per above, so the CI worker doesn't actually have to be
running Linux. Here's a link to one of the Docker images at Docker Hub:

https://hub.docker.com/r/lyxproject/build-lyx-using-ubuntu-latest-qt5-cmake/
The Dockerfile has more details and usage instructions, e.g. in case you'd
like to use a Docker container to perform the same build locally.

Regards,
Christian

PS.
Regarding the part of "somewhat" working:

Currently builds mostly fail because I'm trying out different settings or
the CI worker runs out of disk space..  But someday a build will perhaps
fail due to bad LyX code, in which case we could catch it.  The CI system
should build on more configurations, and probably build more branches than
just 'master'. And it should also be running test cases.

-- 
Christian Ridderström,     +46-70 687 39 44

Reply via email to