1

Software Engineering common practices change over time. What is an example (Linux-based) stack of a modern build & release pipeline for C++ with continuous integration and delivery.

As of 2022, with release of C++ 20 (with modules); what are some up-to-date open-source solutions, a combination that includes the following? (At least C++17)

  • A package manager (e.g. conan.io)
  • Test framework (e.g. googletest)
  • Build tool (e.g. make, CMake, etc; Are there newer tools?)
  • A CI/CD pipeline for release (e.g. circleci, Jenkins, github Actions, etc) with a scripting language(s): bash, groovy.
  • Compiler (Should be suitable for multiple target platforms using multiple compilers for each release: gcc++, clang++) and producing artifacts (documentations etc)
  • Various test types (unit, integration, mocking, maybe profiling or performance testing)
  • Linter
  • Other items I might have missed

I know there are many variations and tastes. But what is a mature combination that you know of and have worked well together and in a medium-sized or large sized company with agile teams and workflows.

Ideally, a good C++ github repo with workflows set up that represent an industry-standard combination of above items, would be ideal.

Related but different questions: 1, 2.

3

1 Answer 1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.