administrate
administrate copied to clipboard
Add a basic GitHub Actions CI workflow
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
This is currently blocked on us merging https://github.com/thoughtbot/appraisal/pull/174.
Is this something that should be incorporated? https://github.com/thoughtbot/administrate/pull/1967
I'm going to do the Dependabot migration before coming back to this (i.e.: today).
This is now back up to date again, using a similar approach to how we've been running appraisals on certain Ruby versions by skipping Rails 6.0 above Ruby 3.0.
I think string comparisons are fine here, but other ideas welcome.
I don't plan to merge this until I've cut a new release of Appraisal, so once that's done our CI checks will take even longer until I disable CircleCI.
Okay, so, 2 years later, I was able to get Appraisal working on GitHub Actions and then do a release. And now I've had enough time to tidy this up and finally merge it.
I'll open a PR soon to remove Circle CI, but it'll be a while before it's gone completely.