Continuous Integration

From Sepiola Wiki
Jump to: navigation, search



There are 3 hosts/services involved:

Please also read Development Workflow and Build Workflow

Travis CI

Build test for 64bit Linux (Ubuntu).

  • Its configuration can be found in the Sepiola repository
  • It is triggered for every push on every branch and Pull Requests submitted via GitHub
  • Notifications on failed builds should come by mail via GitHub
  • Authentication and authorization is done via GitHub

Coverity Scan

Static code analysis.

  • This one is triggered by Travis CI upon pushes to the coverity_scan branch
  • The reason this is not run on every branch is the rate-limiting on the requests

Jenkins Server

Build server for all flavours (currently 32bit/64bit Linux and Windows) and resellers, used to generate all the binaries for download.

There are two active projects Sepiola OSS-Edition and Sepiola Reseller-Edition which are described in more detail below.

Sepiola OSS-Edition project

It is triggered on every push to the develop branch and builds the Sepiola installers for all combinations (currently 8) of the following variants:

  • Linux, Windows
  • 32bit, 64bit
  • Release, Debug

There is a touchstone build which avoids building all other variants in case the 64bit Linux Release variant fails.

The build artifacts (the installers for Sepiola) are copied to after a successful build.

Sepiola Reseller-Edition project

This project builds the whitelabeled Sepiola for the different resellers for all Release variants (in total: 4*(number of resellers), see above).

It uses a secondary (private) repository besides the Sepiola GitHub repository which contains the reseller data (configuration, address, urls, artwork, etc.).

It is triggered on every push to the reseller configuration repository's master branch or the Sepiola's master branch.

There is again a touchstone build which avoids building all other variants in case the 64bit Linux variant for the Stepping Stone reseller fails.

The installers are then copied to$resellerdomain, for example:

Personal tools