How I Added Continuous Integration (CI) to a C++ Project

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Hazel

    Hazel Engine

  • I used a workflow template for MSBuild-based projects. When doing this lab exercise I referred to this video by TheCherno, who used the same template for his Hazel Game Engine developed using Visual Studio. The Microsoft Build Engine, MSBuild, is what Visual Studio uses to load and build managed projects. Since I'm also developing my project using Visual Studio, this template seemed like the best option.

  • starter-workflows

    Accelerating new GitHub Actions workflows

  • CI requires dedicated machines to checkout our code, built it and run tests. We can either setup our own machines, or we can provision a CI cloud provider to do this for us. GitHub actually provides its own CI service, GitHub Actions, that lets you automate workflows to GitHub repo events, like making a pull request or merging to a main branch.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • ctil

  • After adding the template, my first build failed due to the following error:

  • go-go-web

    Command-line tool that converts TIL posts into .html files.

  • For this lab exercise I had the opportunity to add unit tests to a classmate's project and experience their CI workflow. For this exercise I worked on go-go-web by kliu57. Go-Go Web is written in Python and uses the pytest testing framework. This was my first time writing tests for pytest, but I found the pytest docs helpful. However, more helpful was the information provided in the associated issue and the tests already written, which helped me write the test I needed in the author's preferences.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts