Alternatives to travis-ci
Mathias LANG
geod24 at gmail.com
Thu Dec 10 11:42:41 UTC 2020
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.
It started with an announcement
(https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing)
after they got bought, and pretty quickly people started to
realize it was much less work to migrate to another service than
to send an email every other days.
It looks like they don't even provide extra credits anymore:
https://news.ycombinator.com/item?id=25338983
So if you are maintaining an open-source library, you should
seriously consider switching away from it. Personally, I favor
Github Actions, as it's multi-platform (Linux/Mac/Windows), free
for open source, and has good community-maintained support for D
(https://github.com/dlang-community/setup-dlang). For Linux only,
CircleCI seems like a decent alternative.
If you're on buildkite, be aware that we might be using your
travis-ci script to run your tests (for example:
https://github.com/dlang/ci/blob/e26bf0cca636394a90ea56652cae445609032d14/buildkite/build_project.sh#L163-L164).
If you're thinking about using Github Actions, it's as simple as
using `- uses: dlang-community/setup-dlang at v1`. That will gives
you `dmd-latest` to get started. If you want a more advanced
usage, DMD's workflow file contains a lot of comment which might
help you with some patterns, for example how to add an extra row
to a matrix (spoiler: you can't, you can only remove rows):
https://github.com/dlang/dmd/blob/master/.github/workflows/runnable_cxx.yml
If you plan of using CircleCI, I can recommend to look at our
configuration:
https://github.com/bpfkorea/agora/blob/ea9f26c3d09527f79c16365633923b472393571e/.circleci/config.yml
As you can see, the only tricky part is to make sure you get the
merge commit generated by Github, and not the HEAD of the PR.
Happy hacking!
More information about the Digitalmars-d
mailing list