ci: Replace Travis and Appveyor CIs by a GitHub Workflow
authorManuel Nickschas <>
Thu, 18 Jun 2020 17:28:27 +0000 (19:28 +0200)
committerManuel Nickschas <>
Thu, 18 Jun 2020 19:43:46 +0000 (21:43 +0200)
ci: Replace Travis and Appveyor CIs by a GitHub Workflow

Replace the previous CI systems by a GitHub Workflow for all supported
platforms. This unifies the full CI setup in a single place, and
provides better integration into GitHub itself via the checks API.

Additionally, GitHub provides us with more resources than the other
systems, enabling more parallel and faster build jobs. As a result,
we can afford a larger build matrix than before, and now cover
additional Linux baselines. Unlike Appveyor, GitHub also parallelizes
Windows build jobs, which resolves the huge bottleneck we had
when pushing multiple PRs or branches.

The total turnaround time is still dominated by the Windows build,
but at around 15 minutes it is much faster than before.

GitHub also has a sane retention policy that keeps temporary artifacts
around for several months, and won't run out of space during active
development times like Appyevor did.

For tagged commits, a draft release is automatically created and the
source archive as well as packages for Windows and macOS are attached.
The tag annotation is used for the release notes. Releasing as a
draft allows for final, manual changes before publishing the release.

Note that this change should also enable CI runs in forks, so
contributors can enjoy CI feedback while developing, prior to creating
a pull request.
.appveyor.ini [deleted file]
.appveyor.yml [deleted file]
.craftsettings.ini [new file with mode: 0644]
.github/workflows/main.yml [new file with mode: 0644]
.travis.yml [deleted file]