CI Pipeline Configuration
The CI pipeline builds the documentation, checks whether the testsuite python package can be installed and runs the Functional tests
The CI pipeline stages are:
build - builds the read the docs
lint - checks the python linting
compile - checks the testsuite python compiles
hardware_deploy - deploys the functional tests onto hardware
.post - creates the CI badges
To manually run a custom pipeline:
Select Build > Pipelines.
Select New pipeline.
You can change the following options:
CI_TPM_API_BRANCH - branch of ska-low-sps-tpm-api used in the CI hardware_deploy stage
CI_DAQ_BRANCH - branch of ska-low-mccs-daq used in the CI hardware_deploy stage
CI_DAQ_CORE_BRANCH - branch of aavs-daq used in the CI hardware_deploy stage
LOG_LEVEL - pytest log level used in the CI hardware_deploy stage
CI_HARDWARE_DEPLOY_OPTIONS - Configuration options used in the CI hardware_deploy stage (see below)
CI Hardware Deployment Testing Options
This is predominantly used to schedule soak testing and canary builds using scheduled GitLab CI pipelines.
This requires a list of dictionaries with the following arguments:
STATIONS - number of stations tested. This requires a unique network interface per station. Currently only a single station is supported.
TPM_PER_STATION - number of TPMs per station tested
BANDWIDTH - beamformer bandwidth configured during test execution, maximum is 300 MHz
START_BEAMFORMER - states whether the beamformer is started on initialisation
LMC_VIA_SDN - states whether the LMC data is transferred over the 40G rather than the 1G
LMC_INTEGRATED_VIA_SDN - states whether the LMC Integrated data is transferred over the 40G rather than the 1G
SUBRACKS - a string list of subracks that will be used in the CI e.g. “[‘subrack_5’]”
TPM_SELECTION_METHOD - method for selecting what TPMs to use. Available modes: “distributed” or “fill-up”
TEST_PARAMS - requires a list of strings. These strings represent dictionaries of the contents of the Test Parameters YAML
If a list is given to any of these arguments a combination of all parameters are used. Creating a matrix of tests.