The sample platform / Continuous integration

The sample platform was developed during GSoC '15 and overhauled during GSoC '16. In GSoC '17 another student added support for the Windows part, as well as some bugfixes.

This year we'd like to see the platform being fully finalized (at least with the current list of ideas), and be as stable as possible. To achieve this, the next things (in order of priority) will need to be implemented/fixed:

  • A more textual overview of what is failing (Comment on the opened PR if a test fails). This was a feature of the first iteration of the platform (e.g. this comment), but would in general be adapted further to be even more explicit, just listing the failing tests.
  • Allow the CI to run on forks (Add support for running the bot in forks). In order to run the CI as an external contributor, you now need to open up a PR. We'd like to have a form of approved forks where the contributors can start the CI by commands on commits in their own fork. That way they can test things before opening up a PR.
  • Running sub-sets of tests (Add support for single test runs or smaller sample sets). Currently, when you open a PR, it runs the full test-suite (both Windows & Linux). This consumes quite some time, and we'd like to have some option (either through command, or through the platform site) to run specific tests. This would make it easier if you know you're touching specific code. Combined with the previous issue this would give the contributors full freedom to experiment with fixes on their forks.
  • All other smaller issues, like Foundation upgrade broke lay-out and more.

The Sample Platform is written in Python, so we expect good knowledge of Python. Basic HTML, Javascript & CSS knowlegde is also required.

We make use of quite some libraries (you can find the full list here: About the sample platform), and we expect you to read up on the documentation of these platforms so you know how they work in general.

We encourage you to fix some of the issues labeled GSoC-proposal-task when you are thinking of submitting a proposal related to the sample platform, as they'll help you go through the code base already and get an idea of how it works.

Willem Van Iseghem (@canihavesomecoffee on slack) is a former GSoC student (2014, 2015, 2016) and mentor (2017). He started the project and is the official maintainer.