This is an old revision of the document!


Improving GitHub CI

This year of GSoC focused on improving the existing tools I wrote the previous years (2014 & 2015) to achieve full GitHub integration.

This was achieved through:

  • A full rewrite of the existing sample platform for compatibility reasons
  • Migrating the VirtualBox VM environment to a KVM enviroment to ensure that tests run in a decent amount of time, while staying secure.
  • Running tests under the Windows platform.
  • Integrating the platform with GitHub using webhooks

Last year's sample platform was written using PHP (https://github.com/canihavesomecoffee/ccx_submissionplatform/), and that choice induced some problems regarding the ease of operating when combining the platform with the bot.

To get rid of these issues, a rewrite of the platform was required. A switch to python (in which the previous github bot was written already) was made.

The platform is currently running live at https://sampleplatform.ccextractor.org/, and the source code for the entire platform & GitHub integration can be found on https://github.com/canihavesomecoffee/sample-platform.

The platform isn't fully finished yet, though it is usable; These things still need to be done:

  • Re-enable FTP upload
  • Finish the management of regression tests
  • Let users schedule tests from forks

This part is unfinished. A windows VM needs to be created & configured, a startup service needs to be written (that can handle the automated compilation of CCExtractor under Windows), and the lines of code in the platform that handle the VM need to be uncommented.

  • public/gsoc/2016/willem.1470680511.txt.gz
  • Last modified: 2016/08/08 18:21
  • by willem