This is the closest absolute conversation from the original CircleCI 2.0 version as possible. Main differences:
- Actions' Postgres container requires a password or otherwise doesn't start (see SO answer),
- Ports are explicitly exported,
- Actions has a stronger, built-in approach to service health,
- Using the "global" environment variables stops us having to repeat the Postgres config multiple times,
https://docs.github.com/en/actions/guides/building-and-testing-ruby https://docs.github.com/en/actions/guides/creating-postgresql-service-containers https://docs.github.com/en/actions/reference/environment-variables#about-environment-variables https://docs.github.com/en/actions/guides/creating-redis-service-containers#running-jobs-directly-on-the-runner-machine https://stackoverflow.com/a/60618750/83386 https://www.postgresql.org/docs/9.5/libpq-envars.html