Kotronon / Bachelor-Praktikum

0 stars 0 forks source link

Task 2 ”Continuous Integration” #2

Closed Maracondaa closed 10 months ago

Maracondaa commented 10 months ago

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.

  1. Familiarise yourself with the CI suite provided with GitHub 2 / GitLab 3.
  2. 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.
  3. Further expand your CI pipeline to check your unit tests pass for every pull request to master.
  4. 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.