Overall: very good experience. My migration from Travis involved quite a few prerequisites to get everything working in the same way again, and I was pleased to find all of them available in some form on GitHub Actions.
Here a couple problems I ran into:
-
Although there's a story for running background services like Postgres, there doesn't seem to be much of one for interacting with them with client tooling. After Postgres is running, I often want to
createdb
or raise a schema withpsql
. I ended up installingpostgres
viaapt-get
to get these tools, but it's mostly just good luck that the version drift between these old LTS versions and Postgres running in my container hasn't been too great for things not to work. -
The above is true for all command line utilities. If I want Imagemagick, I have the choice between (1) Ubuntu's ancient version, and (2) running everything through a Docker container, and neither option is very good. Travis was also very bad for this, but it'd be a huge hit for GitHub Actions to find a solution for it.
-
Traditional Go builds don't seem to work out of the box because code isn't checked out to anything resembling a Go workspace, and
GOPATH
isn't set. This will become less important over time as code using Go modules continues to proliferate, but I was a bit surprised that all of this has to be handled manually by the user for now. -
I personally could not get the container-based network mapping instructions for Postgres to work, and had to fall back to the
localhost
version. I assume it's possible if I'd spent more time on it, but a more detailed working example might be in good order.