The Github actions functionality has been pretty spectacular, in particular service containers for setting up a test environment. One bit of annoyance though can be trying to do setup on a container. When the container gets created the repo hasn’t been checked out yet. So I can’t do the normal mount of some init into a postgres container like I would using docker-compose locally. There are lots of ways to work around that, but I just ran across an example that uses docker on the runner image and info from the job context to exec a few tasks on a service container.

Mind blown. For some reason I thought those service containers were tucked away somewhere special and not exposed directly on the runner system. What a fantastic tool to have available.