Resolve "Optimize CI pipeline"
This MR optimizes the CI pipelines by doing the following:
-
Enable out-of-order execution of jobs using the needs
clause -
Split tests for better parallelization -
Evaluate the parallel
keyword -
Evaluate the interruptible
keyword
-
-
Reduce artifact size by removing unneeded object files between stages -
Refactor Docker images and make them versioned -
Create a gekkofs/core
image for system dependencies -
Create a gekkofs/deps
image for downloaded dependencies -
Create a gekkofs/linter
image for validation of formatting -
Create a gekkofs/testing
image for running tests -
Create a gekkofs/coverage
image to generate coverage reports -
Add configuration profiles to dl_dep.sh
andcompile_dep.sh
-
It also improves the reporting of tests by integrating it with the GitLab UI. This required the following changes:
-
Enable JUnit reporting of tests -
Enable JUnit reporting for integration
tests-
Fix reported filename for GitLab integration -
Integrate daemon and client logs into JUnit XML
-
-
Enable JUnit reporting for unit
tests
-
Closes #165 (closed) #157 (closed) #166 (closed) #167 (closed)
Edited by Alberto Miranda