Continuous integration

Christian Roth edited this page Jan 29, 2015 · 7 revisions

this page show what automated systems are in place to support development

Travis-CI

Whenever something is pushed on the master (= release) or the develop (= snapshot) branch, Travis checks out the new code and starts building it. See details on the Travis page for Syncany. Detailed steps by Travis:

  • Build Syncany
  • Run unit tests
  • Create unit test report
  • Create code coverage report
  • Create JavaDoc for current code
  • Build distributables (tar.gz/zip/deb/exe)
  • Upload reports Syncany FTP server

Travis also does this (or parts of it) for each registered plugin. Details on the instructions for Travis can be found in the .travis.yml file.

Post-processing on Syncany Server

After the Travis files arrive on the Syncany server via FTP in a landing directory, a little script verifies that the correct files were uploaded and moves them to the syncany.org/dist directory and registeres them in a database.

The database registry is particularly important for plugins, because the plugin API (for sy plugin list and sy plugin install) uses this registry. See api.syncany.org/v1/plugins/list.

Docker

For all develop (= snapshots) and master (= release) branch commit, Docker creates a Linux image with Syncany pre-installed, so you can easily test it. Check out the Syncany profile in the Docker index

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.