goalert icon indicating copy to clipboard operation
goalert copied to clipboard

Add Makefile Command for Testing Against Multiple Postgres Versions and Failover Validation

Open mastercactapus opened this issue 1 year ago • 0 comments

What problem would you like to solve? Please describe: Currently, GoAlert tests are run only against the recommended Postgres version (which is currently 13). This doesn't provide assured compatibility with newer versions of Postgres, which some release users may use. Additionally, there is a lack of testing and documentation dedicated to failover scenarios.

Describe the solution you'd like: A Makefile command would be helpful that allows running all smoke and integration tests against various Postgres versions (for instance 13, 14, 15, 16) to provide a broader assurance of compatibility. Although not feasible on every CI run, it could be done for release versions.

Additionally, testing and documenting failover scenarios with tools like Patroni would be beneficial to verify GoAlert's behavior in such scenarios and provide users with a verified high-availability option. This is necessary given that GoAlert is an on-call application where constant availability is crucial.

Describe alternatives you've considered: One possible alternative is to continue testing only on the recommended Postgres version, but this leaves out a wider validation.

For failover scenarios, we could leave the testing and documentation to the users however this would not guarantee that they have a vetted solution for high availability.

Additional context: As GoAlert becomes more widely adopted, compatibility and failover proofing become increasingly critical to ensure smooth operation for various users.

mastercactapus avatar Nov 13 '23 17:11 mastercactapus