Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: tell that CI is also available on Yocto now

A continuous integration (CI) process has been implemented in order to deploy and test a custom cluster before merging any pull requests. Source code can be found in https://github.com/seapath/ci.

For now on, the CI is implemented for the Debian version of SEAPATH on the Ansible repository. A CI for the Yocto version is planned too.

The CI is based on GitHub action and has been completely dockerized in order to guarantee its reproducibility and scalability.

Description

The CI operate on the Debian a SEAPATH operating system. To avoid many problems, all machines are already flashed with a Debian iso SEAPATH and the CI will only configure the systems using the Ansible playbooks. This implies the iso creation and the boot process can't be tested.

A cluster running Debian is configured and All machines are linked to a self-hosted runner, on which the GitHub Action for the CI will run.

...

No Real-time, complex IEC 61850, complex cluster tests or long times latency tests are run on the CI for now. These tests are too long to be run on each GitHub pull request, so it is planned to integrate these tests at every release of the SEAPATH project.

Report

The CI can fail in two three ways :-

  • The configuration of

...

  • SEAPATH  is wrong and the associated Ansible playbook fail

...

  • The tests fail
  • The tests on VM fail

The failure of the configuration can be observed in the CI logs.

...

The CI is actually running on the debian-main branch and on the main branch of the Ansible repository : https://github.com/seapath/ansible/tree/debian-main
Every pull request need to pass the tests to be merged.

...

Info

IEC61850 HIL simulator is not needed because it is not used for the moment.

Warning
Be aware that the CI is only available for the Debian version of the project for now

.

Preparing the CI

The runner used to configure the machines will be used for the CI. Docker and cqfd are the only required software to launch it.

...