D5.1. Continuous Integration and Testing Approach

WP5 focuses on the integration and qualification of WP3 and WP4 outcomes. The first activity, performed during Months 4 and 5 of the work plan, is creating the continuous integration and delivery (CI/CD) methodology, followed by defining the automation software, tools, roles and responsibilities to facilitate it. The availability and the maintenance of the infrastructure that will be used to support this methodology is provided by WP6.

The defined development, integration and delivery flow was inspired by common best practices for agile development within large, distributed teams.

The deliverable defines several aspects of the CI/CD methodology, such as branching deployment, relevant tools, style checks, code reviews and various testing levels to support quality assurance.

To support the evaluation of tools a set of criteria was defined, resulting in the following selections:

- GitHub was selected as a revision control system.

- Jenkins as a continuous integration system.

- GitHub as a general issue and bug tracking system.

Additional tools to support the development and integration process are being further evaluated and integrated into the Workflow.

Future activities in WP5 will be focused on the integration of WP3 and WP4 outcomes and acceptance testing.

WP6 is responsible on the infrastructure setup, validation and pilots. During the first five months of SONATA the work of WP6 focused on the definition of the three infrastructure variants - integration, qualification and demonstration infrastructures. Moreover, WP6 deploys and maintains the integration infrastructure for the support of the initial development plans of SONATA. The aforementioned infrastructures will be further elaborated in D6.1 (Definition of the Pilots, Infrastructure Setup and maintenance report) due in M12.

As WP5 relies on the infrastructure provided by WP6, this deliverable also contains a description of the dependency and moreover an overview of what WP6 has prepared through M5.