Skip to content

Added a GitLab CI configuration for automated builds.

Sean Baggaley requested to merge topic/default/ci into branch/default

This adds a GitLab CI configuration for running automatic builds on each push. Binaries from the builds become available as artefacts. For developers, these CI jobs picking up build failures on other platforms. For users, these jobs are useful for being able to test new features and fixes as they come in without having to build it themselves or wait for someone else to do it.

There are four jobs currently:

  • Linux
  • Linux (SERVERONLY)
  • Windows x86
  • Windows x86-64

The Linux jobs use an pre-made Ubuntu image from zandronum/ci-images that contains all our dependencies included to save some time when building.

The Windows jobs require a shell runner set up specifically for building Zandronum, as Heptapod does not currently support Docker runners on Windows (and in my experience, Docker on Windows is a bit jank anyway). The setup mostly involves following the wiki guide for building with MSVC and setting some environment variables, so this environment should be easy to reproduce. Currently the only runner is a group-level one running on a Windows VM on my server.

It would be nice to have macOS jobs, but foss.heptapod.net does not currently provide macOS runners, and I can't provide one myself.

Merge request reports