tpetry / laravel-postgresql-enhanced

Support for many missing PostgreSQL specific features
MIT License
773 stars 31 forks source link

Testing using official postgresql docker images #70

Open madalinignisca opened 1 year ago

madalinignisca commented 1 year ago

Hi. I would have posted this as a discussion, not an issue.

I was confused to see the tests running against ankane/pgvector and not a matrix of all current supported Postgresql versions using the official images.

Any reasons why ankane/pgvector is better than postgresql image and making tests running like Laravel and PHP versions mixed with them?

tpetry commented 12 months ago

I recently introduced support for pg_vector so the image to run against needs to have that extension as well. And the prebuilt docker containers simply don't support the vast range of supported PG versions. I have to build custom docker images as service customers at some point but I didn't have the time yet to research how this works with Github Actions.

madalinignisca commented 11 months ago

I recently introduced support for pg_vector so the image to run against needs to have that extension as well. And the prebuilt docker containers simply don't support the vast range of supported PG versions. I have to build custom docker images as service customers at some point but I didn't have the time yet to research how this works with Github Actions.

The official postgresql images are based on the official debian apt repositories from postgresql.org.

If you give me a list of required extensions and anything to run after to enable them, I can prepare a scheduled action that builds them on top of the official images and puts them public on Docker Hub. Once done, it will need very low maintenance.

The postgis/postgis image is done that way, except it doesn't yet support arm64.

With same idea, if tests should be done over a matrix of versions combinations, multiple images could be done this way to support that.

tpetry commented 11 months ago

That's a step I wanted to omit. Like building images and putting them on DockerHub or GitHub Docker registry.

I prefer creating the needed images within the CI workflow so it is easier to manage.