Squarespace / pgbedrock

Manage a Postgres cluster's roles, role memberships, schema ownership, and privileges
https://pgbedrock.readthedocs.io/en/latest/
Other
316 stars 35 forks source link

Support Postgres 9.5 #28

Closed zcmarine closed 6 years ago

zcmarine commented 6 years ago

This PR modifies the test harness to make testing of multiple Postgres versions possible.

This was done with the immediate goal of supporting Postgres 9.5 (which works without other changes), but with the more long-term goal of making support for multiple Postgres versions easy to facilitate. This PR makes it so our test harness now does the cartesian product of (py27, py36) x (pg9.5, pg9.6).

As a knock-on benefit, this also allows us to simplify our Travis CI to just make test, which is what we run locally as well, meaning our local dev experience can be identical to our CI.

cpdean commented 6 years ago

So... the good news is that to try to demonstrate my point I ended up adding support for Postgres 9.3 (originally released all the way back in 2013!) to the test suite (not sure if pgbedrock should support that many Postgres versions).

The bad news is I'm about to start bike-shedding about an idea in the ergonomics of a test suite by demonstrating a feature I like in travis.

The nature of this change shoves a lot of parameters into the same test suite, increasing its coverage of different environments, but now it's very monolithic.

I've opened a PR against your PR to show how if we leverage a feature in travis, this 3.8k line failed build https://travis-ci.org/cpdean/pgbedrock/builds/379981111 can be summarized at a glance to being an issue with Postgres 10.4 support: https://travis-ci.org/cpdean/pgbedrock/builds/379985843

image