Continuous Integration Automated Tests
There is a dedicated cicd-test Github Repo acting as the Test Suite for this Project.
The CI server of our Automated Workflows, checks out the Test Suite, and runs it, when triggered.
The Test Suite consists of
- a set of GA Workflows that call our Docker, PyPI, Lint, and Code Visualization Workflows in various Scenarios and Situations
- a set of Automated Tests, implemented with
Pytest(Python) - a Test Runner with a CLI (
pytest -n auto)
Test Scenarios are naturally implemented as 'caller' Workflows.
The Tests run themselves in Github Actions, of cicd-test repo.
The Automated Tests, (automatically) make all the assertions for Workflow Status being either Green or Red, depending on runtime conditions.
Our CI runs Tests and Passes, if all expected Green Workflows are Green and all expected Red are Red.
In essence, in terms of logic, our CI Status encapsulates together all our Green and Red expectations, in one Signal (pass / fail).
Below is a catalog of all Test Scenarios.
Docker Workflow Automated Tests
All Test Scenarios implemented for Workflow docker.yml.
Green - 'Success'
These are the Green Status Test Scenarios Workflows,
which call docker.yml, under conditions that should lead to Green - Success Status
| Workflow Status | Workflow Source Code | Scenario |
|---|---|---|
| docker_pol0_green_0000_1100 | ||
| docker_pol1_green_0001_1101 | ||
| docker_pol2_green_1110_0010 | ||
| docker_pol3_green_1111_0011 | ||
| docker_test_when_tag_not_given |
Red - 'Failure'
These are the Red Status Test Scenarios Workflows,
which call docker.yml, under conditions that should lead to Red - Failure Status
| Workflow Status | Workflow Source Code | Scenario |
|---|---|---|
| docker_pol0_red_0100 | ||
| docker_pol1_red_0101 | ||
| docker_pol2_red_0110 | ||
| docker_pol3_red_0111 |
PyPI Workflow Automated Tests
All Test Scenarios implemented for Workflow pypi_env.yml.
Green - 'Success'
These are the Green Status Test Scenarios Workflows,
which call pypi_env.yml, under conditions that should lead to Green - Success Status
| Workflow Status | Workflow Source Code | Scenario |
|---|---|---|
| pypi_env_build_matrix_test | ||
| pypi_test |
Red - 'Failure'
These are the Red Status Test Scenarios Workflows,
which call pypi_env.yml, under conditions that should lead to Red - Failure Status
| Workflow Status | Workflow Source Code | Scenario |
|---|---|---|
| pypi_env_no_wheels_test_red | ||
| pypi_env_test_red |
Build Workflow Automated Tests
All Test Scenarios implemented for Workflow test_build.yml.
Green - 'Success'
These are the Green Status Test Scenarios Workflows,
which call test_build.yml, under conditions that should lead to Green - Success Status
| Workflow Status | Workflow Source Code | Scenario |
|---|---|---|
| build_caller_check_arts_all | ||
| build_caller_check_arts_edit_sdist | ||
| build_caller_green |
Lint Workflow Automated Tests
All Test Scenarios implemented for Workflow lint.yml.
Green - 'Success'
These are the Green Status Test Scenarios Workflows,
which call lint.yml, under conditions that should lead to Green - Success Status
| Workflow Status | Workflow Source Code | Scenario |
|---|---|---|
| static_code_green |
Code Visualization Workflow Automated Tests
All Test Scenarios implemented for Workflow python_imports.yml.
Green - 'Success'
These are the Green Status Test Scenarios Workflows,
which call python_imports.yml, under conditions that should lead to Green - Success Status
| Workflow Status | Workflow Source Code | Scenario |
|---|---|---|
| code_viz_green |