Managing Continuous Intergration (CI)

Basic Facts

  • TTG uses GitHub Actions (GHA) for its CI service
  • GHA CI configuration is in file .github/workflows/cmake.yml. Only Linux and MacOS builds are currently supported.
  • Unlike earlier CI setups, there is no need to cache TTG prerequisites; default system-wide packages are used for most prerequisites, and the rest is compiled from source every time.
  • Doxygen documentation deployment uses a GitHub token that is defined as variable GH_TTG_TOKEN in GHA's TTG repo settings' secrets.

Debugging GitHub Actions jobs

Local debugging

GHA Linux jobs run on stock 20.04 Ubuntu, thus they can be reproduced easily in, e.g., a stock Ubuntu container. MacOS jobs run on (x86) MacOS virtual machines, thus require a local Mac to troubleshoot.