Skip to content

Latest commit

 

History

History
42 lines (30 loc) · 1.48 KB

File metadata and controls

42 lines (30 loc) · 1.48 KB

Continuous Integration (CI)

Shadow runs a CI workflow every time a pull-request (PR) is updated. This workflow contains several checks to assure the quality of the project, and only pull-requests with green results are merged.

Build & install

The project is built & installed on various distributions. The workflow can be triggered locally by following the instructions specified in the Build & install page.

System tests

The project runs system tests to verify functionality across different environments using two complementary approaches:

Bash system tests

Legacy Bash system tests run on Ubuntu in a VM environment. These provide coverage for Ubuntu-specific scenarios and legacy test cases. You can run this step locally by following the instructions provided in the Tests page.

Python system tests

The new Python system tests use pytest and pytest-mh, running across multiple distributions (Fedora, Debian, Alpine, openSUSE) in containerized environments. These tests provide cross-distribution compatibility and improved environment management compared to the Bash tests.

For local execution of Python system tests, follow the instructions in the Tests page.

Static code analysis

C and shell static code analysis is also executed. For that purpose CodeQL and Differential ShellCheck are used.