Alternatives to travis-ci

Petar Petar
Fri Dec 11 10:34:34 UTC 2020


On Thursday, 10 December 2020 at 11:52:41 UTC, M.M. wrote:
> On Thursday, 10 December 2020 at 11:42:41 UTC, Mathias LANG 
> wrote:
>> As many of you might be aware already, travis-ci is killing 
>> their open-source plans.
>> They haven't sunset it yet,, but they introduced a set of 
>> restrictions that makes them completely uncompetitive and 
>> impractical to use compared to other services on the market.
>>
>> [...]
>
> Thank you for sharing and suggesting alternatives. Is GitLab CI 
> similarly easy/friendly/suitable for D? Does anyone use it?

GitHub Actions has the least mature UI (compared to every other 
CI service), but for most open-source D projects hosted on GitHub 
it is easily the best choice, thanks to 
https://github.com/dlang-community/setup-dlang which makes it 
trivial to add CI for Windows, Linux and macOS to your project. 
Probably the biggest disadvantage is that they don't offer the 
option to restart individual jobs, which is partial offset by 
offering noticeably faster machines than Travis CI did.

If you have more experience and you want more control, than the 
other services are good choices as well - now CircleCI and Azure 
Pipelines also have Windows/Linux and macOS support. SemaphoreCI 
is also good, but only has macOS and Linux support.
With services like that you have three good options:
* Use the official install.sh script (https://dlang.org/install) 
on the default build environment. The script recently gained 
Windows support (in addition to Linux and macOS).
* Use an existing Docker image with D support:
   * https://hub.docker.com/r/dlang2/ldc-ubuntu
   * https://hub.docker.com/r/bpfk/agora-builder (you'd have to 
ask Mathias whether they're going to support it for third-party 
projects :P)
* Build your own Docker image, by either:
   * Using compilers package by the Linux distributions
   * Using the install.sh script
   * Manually downloading and installing dmd/ldc packages
   * Building a compiler from source

Outside of the GitHub monoculture, GitLab, as mentioned by 
Basile, is the best choice as they offer the most integrated 
development environment.


More information about the Digitalmars-d mailing list