Continuous integration

From Unvanquished
Jump to: navigation, search

Continuous integration (CI) refers to the automated builds that run each time someone opens or modifies a pull request against, or modifies the code of, the Unvanquished and Daemon source code repositories on GitHub.

We use the following CI services:

  • Appveyor, for building with MSVC on Windows. Its configuration is found in the file .appveyor.yml in the repository root.
  • Azure Pipelines. Its configuration is found in the file azure-pipelines.yml in the repository root. It handles Mac native builds on macOS 11.x and Linux native and NaCl builds on Ubuntu 20.04 (Focal).

Build matrix

Dæmon engine
Service Host Target Compiler Generator Build Type WERROR PCH
Appveyor Windows amd64 Windows amd64 VS 2019 NMake Debug Yes off
Appveyor Windows amd64 Windows i686 VS 2019 NMake Debug Yes off
Azure Pipelines Ubuntu-20.04 amd64 Windows amd64 Mingw 9.3 Ninja Debug Yes off
Azure Pipelines Ubuntu-20.04 amd64 Linux amd64 GCC 9.4 Ninja Debug Yes off
Azure Pipelines Ubuntu-20.04 amd64 Linux amd64 Clang 11.0 Ninja Debug Yes off
Azure Pipelines macOS-11 amd64 macOS amd64 AppleClang 13.0 Make Debug Yes No
Unvanquished game
Service Host Target Compiler Generator Build Type WERROR PCH
Appveyor Windows amd64 Windows i686 DLL VS 2019 NMake Debug Yes off
Azure Pipelines Ubuntu-20.04 amd64 Linux amd64 DLL GCC 8.4 Ninja Debug Yes off
Azure Pipelines Ubuntu-20.04 amd64 Linux amd64 DLL Clang 11.0 Ninja Debug Yes off
Azure Pipelines Ubuntu-20.04 amd64 NaCl all NEXE PNaCl Clang 3.6 Ninja Debug Yes off
Azure Pipelines macOS-11 amd64 macOS amd64 DLL AppleClang 13.0 Make Debug Yes No


“WERROR” indicates whether the USE_WERROR option is on, which gives a failing building build status if there are warnings in our code. Note that USE_WERROR only applies to ”our” code in src/, so you may still see warnings from stuff in libs/.

“PCH” indicates whether the precompiled header is enabled.