Skip to content

ci-rt/docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 

Repository files navigation

CI-RT documentation

The CI-RT tests changes of the PREEMPT_RT patch on different hardware platforms with a defined test procedure. For a detailed description please consider https://ci-rt.linutronix.de/RT-Test/about.jsp and CI-RT requirements and rules.

The CI-RT is split in several subprojects. They are shortly described in the following.

Jenkins specific projects

The control instance uses jenkins to deploy the jobs on the different defined slaves. The setup of the Jenkins master instance (and the setup of the slaves) is described in README of jenkins-cirt-libs.

test-description

A textual description for the tests that needs to be executed. Additionally it contains the base Jenkinsfile which triggers only the CIRTscheduler, which is part of cirt Jenkins library.
For the explanation of the structure and the setup, please consider README.

jenkins-cirt-libs

The description for the single steps are defined in a Jenkins Pipeline shared library.
For setup, please consider README.

libvirt-slave-plugin

Jenkins Libvirt Agents plugin >= 1.9.0 enables the selection of r4d as hypervisor to communicate with slaves via libvirt.

database

The repository hosts the database scheme for the test results of the Jenkins tests.
For setup, please consider README.

r4d and libvirt

The DUTs (or Jenkins slaves) are located in racks. To communicate with real hardware in the same way you can communicate with virtual machines, r4d was developed. Libvirt was adapted to support r4d.

r4d, libr4d and the patched libvirt are available as Debian packages on http://debian.linutronix.de/tools mirror.

r4d

For the communication abstraction for the targets located in racks, hypervisor r4d is used.
For setup, please consider README.

libr4d

For the communication abstraction for the targets located in racks, hypervisor r4d is used. The C library libr4d provides helper functions to access and comunicate with the hypervisor r4d.
For setup, please consider README.

libvirt-debian

This repo hosts the debianization of libvirt with additional changes, which make it possible to communicate with hypervisor r4d via libvirt. It is a clone of https://anonscm.debian.org/cgit/pkg-libvirt/libvirt.git/ and hosts the adapted debian/sid branch renamed as debian/jessie-backports and the adapted debian/stretch branch.
For setup, please consider README.

Web specific projects

The results of the tests can be visualized with a web application.

ci-web

The test results are displayed on a web interface. This git repository hosts the corresponding source code. You need the google-visualization-java repository to build the web interface. Furthermore you need access to the database storing the test results.
For setup, please consider README.

google-visualization-java

This repo is a fork of https://github.com/google/google-visualization-java with additional changes, to make it possible to use postgresql data bases.
For setup, please consider ci-web README and google-visualization-java README.

DUT specific projects

The DUTs or Jenkins slaves require several specific packages and also some extra settings to be able to test booting the DUT via Jenkins. To be able to reproducable rebuild the RFS, E.L.B.E. is used.

elbe-rfs

This repo contains all required files to be able to build the RFS for a specific DUT. For more information about the tool which is used for building, please consider E.L.B.E. website.

TESTBOX specific projects

The TESTBOX is a Banana Pi R1 router board expanded by a custom developed shield. This results in a standardized adaption system to be able to handle not standardized hardware in CI-RT and to run hardware assisted tests.

testbox-shield

This repo hosts all TESTBOX shield related drawings, layouts and schematics. It is a kicad version 5 based project. Please read the README before use.

testbox-rfs

This repo contains the E.L.B.E recipe to build a root file system for the TESTBOX. For more information about the tool E.L.B.E. which is used for building, please consider E.L.B.E. website.

Outdated projects

Several repos are no longer required or outdated but still available. To not break existing links, those repos are kept. Links to current replacement repos are added to the README files inside those outdated repos.

jenkins

Old repo which was used as long as Jenkins job configuration was done via xml files. Now pipelines are used instead.

jenkins-pipeline

Old repo which contained the functionality of CI-RT scheduler. The functionality is now integrated in jenkins-cirt-libs.

libvirt-slave-plugin

Old repo. All changes are in its upstream which is maintained by CI-RT now.

warnings-plugin

Fork of the original warnings-plugin. Repo was required during the development of the kernel output parsing functionality.

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •