GSOC 2014 Ideas/Continuous Integration Framework

From Scribus Wiki
Jump to navigation Jump to search

Continuous Integration Framework

Brief explanation:

The student will create a framework in which the tip of a pre-defined git/svn branch of the Scribus repository will be built after every push and reports are sent back to the developers.

Details:

Scribus runs on Linux, Windows, and Mac. Scribus can be built against both Qt4 and Qt5. Scribus can be built with gcc and llvm/clang. The goal of this project is to create a build-bot that listens to git/svn pushes (usually to the master branch, but this should be configurable) and builds the latest sources in several different environments. We already support cross-building on Linux for Windows today, enabling cross-building on Linux for Mac would be part of this project. The CI framework should collect build warnings and build errors and report those back via email, both to a mailing list and to the author(s) of the commits that caused the failure. Additionally, on successful builds the framework should provide installable snapshots for Windows, Mac and some of the more common Linux distributions.

Expected results:

A CI / CB framework for Scribus that can run on a FreeBSD/Linux server, tests-builds the latest git sources after every push, and creates installable packages for the major platforms.

Knowledge Prerequisite:

  • git
  • shell/python/perl or other adequate scripting language
  • cross building experience would be useful but is not necessarily required

Skill level: medium to high

Mentor: ??