/git-travis-demo

The demo integration of GitHub and TravicCI.

Primary LanguageC++MIT LicenseMIT

Demo for GitHub and TravisCI integration

This repository contains a sample C++ project demonstrating the capabilities of integrating GitHub with an continuous integration system TravisCI and AppVeyor.

Automatic build status:

  • TravisCI: Build Status (intentional failing tests for demonstration, click the image)
  • AppVeyor: Build status (intentional failing tests for demonstration, click the image)

Functionality

The only supported functionality is the computation of a factorial.

It uses CATCH, a modern, C++-native, header-only, framework for unit-tests, TDD and BDD, for unit testing the code.

Furthermore, this project illustrates the repository guidelines for projects at CRoCS laboratory. The full guidelines can be found at CRoCS wiki.

Build process

The project uses GNU Make for building. To build, run 'make' in the root directory. The following targets are available:

  • all (automatic) build both main and testing binary
  • main build the main binary
  • main-test build the binary running tests
  • clean remove all intermediate object files

Another option is to load a MS Visual Studio solution file ci-demo (or use it for MSBuild). The solution defines 2 projects ci-demo and ci-demo-testing corresponding to main and main-test targets of GNU Make respectably.

Running

The main binary is not configurable.

The testing binary responds to standard CATCH arguments, see the documentation.

Authors and licence

This project is developed at the Centre for Research on Cryptography and Security, Masaryk University, Brno, Czech Republic. The initial version was authored by Martin Ukrop in autumn 2014 for the purposes of CRoCS OpenLab.

It's licensed under MIT licence, see the file in the repository root. CATCH (src/catch.hpp) is licenced under Boost Software License.