To address and solve the challenges specified by the customer, the MERA team adopted Continuous Integration (CI) practices. CI introduction helped to automate most of the manual parts of the process. In addition, it allowed to get feedback faster and to react accordingly. All of this meets the best practices and makes the process more agile-like: to fail fast, to fix sooner, to succeed faster. The solution provided by MERA enables the customer to reduce expenses and to increase quality at the same time.
Besides that, the MERA team added static analysis to the CI pipeline to address code quality issues. This step provides instant feedback about a new change, enabling the return of the bad code back to developers for further improvements if necessary. To speed the build process up, MERA developed a solution that recompiles only changed components and their dependencies. Unchanged components are taken from the repository, containing compiled components, and added to the package without compilation. The MERA team has built the solution on top of Docker, Artifactory OSS, and cmake.
In the scope of the project, we automated the deployment process to make the process continuous and to decrease manual efforts. The product was installed in an automated way to the test environment and then automated smoke/sanity test suite was executed to verify if the new changes break the build and if it makes sense to push the build to the further automating and manual testing stages. MERA implemented automated smoke/sanity test suite using Python and Robot Framework.