Testing/CI/Travis

From QEMU
Revision as of 15:49, 13 March 2019 by Ajb (talk | contribs) (Move page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Travis is a open source continuous integration service which works together with GitHub. When the GitHub mirror is updated (or a pull request generated) Travis will kick of a build across a matrix of configurations. It will also run "make check" on the final build to run our set of unit tests.

Travis is one the many CI build services we use, the current status is bellow:

Current Status

System Focus Status
GitLab CI Majority of CI testing (builds x86 & cross), various check targets https://gitlab.com/qemu-project/qemu/badges/master/pipeline.svg [1]
Cirrus CI FreeBSD, MacOS and Windows MSYS2 compile and test https://api.cirrus-ci.com/github/qemu/qemu.svg [2]
Travis non-x86 hosts, mostly deprecated qemu.png?branch=master&file=qemu.png [3]
Coverity Static analysis https://scan.coverity.com/projects/378/badge.svg?flat=1&foo=qemu.svg [4]
Patchew Apply and test patches as they are sent on the mailing list. https://patchew.org/QEMU/badge.svg [5]
Documentation Build the RST portions of the doc/ subtree https://readthedocs.org/projects/qemu/badge/?version=latest&foo=qemu.svg [6]

Limitations

The Travis build environment is limited to a few configurations:

  • Ubuntu 14.04 Default Trusty Container Image (most builds)
  • Ubuntu 14.04 Default Trusty Container Image using Clang (clang-5.0)
  • Ubuntu 14.04 Default Trusty Container + ubuntu-toolchain-r-test (gcc 7)
  • MacOSX (with brew installed support libs)

As a result it doesn't fully exercise the build system in the way our Buildbot used do. Fortunately patchew fills in the gaps.

Configuration

See the Travis config file

Testing Changes to Travis