Skip to content

Conversation

@mkgrgis
Copy link

@mkgrgis mkgrgis commented Oct 1, 2025

Add typical industrial multiversional CI based on SQLite FDW adopted for Redis FDW.
This PR should be merged after #45

Copy link

@dpage dpage left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is vastly overcomplicated, and doesn't prove the code actually works with the release packages that the majority of users will be running. Please just install the required packages directly in the workflow, and don't try to build anything except our own code from source.

@mkgrgis
Copy link
Author

mkgrgis commented Oct 1, 2025

Please just install the required packages directly in the workflow

This is against industrial standards, @dpage. What about FreeBSD, OpenSolaris and other CI workers where there is no .deb packages? Testing core of SQLite FDW was adopted to much of non-public CI environments and for testing against releases-candidates. This FDW CI also can be adopted to many Unix-like environments if we minimize Ubuntu-specific features. Why we should implement Ubuntu-hardcoded mechanism here? Also there is .rpm CI workers without PRM for RedHat distributives etc. This form of packages is also popular. PGDG tests only against git branches, not against any packages.

@dpage
Copy link

dpage commented Oct 1, 2025

Please just install the required packages directly in the workflow

This is against industrial standards, @dpage. What about FreeBSD, OpenSolaris and other CI workers where there is no .deb packages? Testing core of SQLite FDW was adopted to much of non-public CI environments and for testing against releases-candidates. This FDW CI also can be adopted to many Unix-like environments if we minimize Ubuntu-specific features. Why we should implement Ubuntu-hardcoded mechanism here? Also there is .rpm CI workers without PRM for RedHat distributives etc. This form of packages is also popular.

As I showed in the pgAdmin example, we can test on different platforms. Just because we start with Debian or Ubuntu, that doesn't preclude us from later adding support for RPM based platforms, or others such as FreeBSD or OpenSolaris (for which we can build dependencies from source iif there is no other option).

PGDG tests only against git branches, not against any packages.

That is incorrect. PGDG uses pre-packaged dependencies - for example, this is the script used to build the Debian CircleCI runners: https://github.com/anarazel/pg-vm-images/blob/main/scripts/linux_debian_install_deps.sh. On OpenBSD, pkg_add is used, and on Windows third party packages are downloaded and unpacked/installed as needed.

Within the PostgreSQL buildfarm (buildfarm.postgresql.org), the individual machines are configured by their owners, and may or may not use pre-packaged dependencies. Most of them do, because the point is to test against the same builds a user is likely to have installed.

The only code built as part of a PostgreSQL CI run (at least those managed by PGDG) is PostgreSQL itself. Similarly, in our case the only code we should build should be redis_fdw.

@mkgrgis
Copy link
Author

mkgrgis commented Oct 3, 2025

@dpage , C compilable complex CI was replaced to primitive CI against Ubuntu packages only. Is this enough?

@mkgrgis mkgrgis requested a review from dpage October 3, 2025 10:51
@mkgrgis
Copy link
Author

mkgrgis commented Oct 4, 2025

@dpage , Ubuntu repos doesn't have enough packages for our CI matrix Pg 14..18, please look at https://github.com/mkgrgis/redis_fdw/actions/runs/18239829804/job/51940049808 . Also, if I use PostgreSQL Global Development Group APT repo there are PosgreSQL packages but there are no PostGIS packages. Please look at https://github.com/mkgrgis/redis_fdw/actions/runs/18239180092/job/51938462779 .
Please help me to resolve this problems if you are sure in your CI architecture selected in #45 (comment). How should I test future spatial functions between Redis and PostgreSQL+PostGIS? How does you implement testing matrix for redis_fdw outside of CI now?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants