Continuous Integration (CI) aims to automate the process of quality assurance before
merges to master are made. This can include testing code style, compiler warnings,
and unit tests.
Familiarise yourself with the CI suite provided with GitHub 2 / GitLab 3.
Set up a CI pipeline to test for memory access errors on every pull request
to master. Specifically, your CI should at least test that no errors are thrown
when building your code with the GCC flag -fsanitize=address.
Further expand your CI pipeline to check your unit tests pass for every pull
request to master.
To make sure you don’t accidentally circumvent your own CI it is advisable
to configure branch protection in your repository. Pushing directly to master
should not be possible and all merges to it should require successful checks
by the CI. However, GitHub does not allow this for free private repositories,
hence this point is optional.
Continuous Integration (CI) aims to automate the process of quality assurance before merges to master are made. This can include testing code style, compiler warnings, and unit tests.