Run cta-unitTests as separate build job
Currently the cta-unitTests
target that runs the unit tests is being executed as part of the build process. This slows down the whole pipeline and show be executed as a separate job instead.
Basically we go from this:
flowchart LR
subgraph build_cta_rpm
direction LR
B[Build] --> U[Unit test]
end
U --> D[Docker build]
U --> T[Basic Tests]
D --> KT[Kubernetes Tests]
To this:
flowchart LR
Build --> D[Docker build]
D --> KT[Kubernetes Tests]
subgraph Tests
direction LR
B[Basic Tests]
U[Unit test]
end
Build --> Tests
Basically, we don't need to wait for the unit tests to execute the rest of the pipeline. This removes another bottleneck from the pipeline (could shave off up to 2 minutes).
An argument for not doing this is that there is no point in running other tests if this unit test suite fails. That is true, but the same can be said for other tests. Additionally, the pipeline will still fail if this job fails. Extra additionally, we can even immediately fail the pipeline if the job fails (see #852 (closed)).
For local development this doesn't change anything; there we keep this as part of the build process (there already is a flag to disable it if necessary)