Skip to content

Instantly share code, notes, and snippets.

@brandur
Last active November 7, 2019 19:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brandur/6ce4d0678a175f516d4ec0b7addcb931 to your computer and use it in GitHub Desktop.
Save brandur/6ce4d0678a175f516d4ec0b7addcb931 to your computer and use it in GitHub Desktop.
GitHub Actions first impressions

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 with psql. I ended up installing postgres via apt-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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment