-
-
Notifications
You must be signed in to change notification settings - Fork 218
feat: support multiple versions of the pg-graphql extension #1761
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
jchancojr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
samrose
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to finish rebase and testing
Build multiple versions of the pg_graphql extension on different PostgreSQL versions. Add test for the extensions and their upgrade on PostgreSQL 15 and 17.
This change allows developers to target specific Rust versions for building extensions. It implements support for building cargo extensions and `cargo-pgrx` using the specified Rust version.
1e4a0a9 to
5845593
Compare
The issue we face when building pg_graphql on aarch64 is: `Invalid or unknown abi 16 for function "_ZGVnN4vv_atan2f"` It has been fixed in bindgen 0.11.3.
Add special case handling for 1.5.1-mergeless to 1.5.4 upgrade path. Also replace CREATE FUNCTION with CREATE OR REPLACE FUNCTION to prevent conflicts in migration scripts and the same for event triggers.
pg_graphql 1.5.4 uses pgrx 0.11.3 which fixed the ABI issues on aarch64-linux.
We don't recompile the extension using pgx with dev/debug symbols, but we do run the pg_regress tests to ensure everything is working correctly.
samrose
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
passing all tests
* origin/develop: fix(nix): remove '%' character from Nix trusted-public-keys configuration (#1840) chore: systemd hardening (#1837) Revert "refactor(postgresq): switch to 'include_dir' and then rename conf files to ensure ordering" (#1835) refactor(ansible): bring our ansible up to modern ansible-lint standards (#1821) fix(pgmq): replace drop_queue function if exists (#1828) refactor(postgresq): switch to 'include_dir' and then renames conf files to ensure ordering (#1820) feat: support multiple versions of the pg_jsonschema extension (#1757) feat: bump auth to v2.180.0 (#1829) feat: update supautils confs w/ new tables feat(migrations): predefined role grants (#1815) feat: run pg_regress tests after installing the last version of the extension (#1826) fix(pgmq): add missing helper function in migration script (#1825) feat: support multiple versions of the pgmq extension (#1668) feat: run pg_regress during extension tests (#1812) feat: support multiple versions of the pgrouting extension (#1687) refactor(ansible): bring our ansible up to modern ansible-lint standards (#1819) feat: support multiple versions of the pg-graphql extension (#1761)
* feat(pg_graphql): build multiple versions of the pg_graphql extension Build multiple versions of the pg_graphql extension on different PostgreSQL versions. Add test for the extensions and their upgrade on PostgreSQL 15 and 17. * feat(cargo-pgrx): build extensions with specified Rust version This change allows developers to target specific Rust versions for building extensions. It implements support for building cargo extensions and `cargo-pgrx` using the specified Rust version. * Build pg_graphql 1.4.2 using pgrx 0.10.2 * Build pg_graphql 1.4.1 using pgrx 0.10.2 * Build pg_graphql 1.2.3 using pgrx 0.9.7 * Build pg_graphql 1.2.2 using pgrx 0.9.5 * Build pg_graphql 1.2.0 using pgx 0.7.1 * Build pg_graphql 1.1.0 using pgx 0.6.1 * Refactoring and build pg_graphql 1.0.2 using pgx 0.6.1 * chore: add release suffix for testing * fix: conditional for using this linking only with macos * fix: bindgen * fix: apply bindgen fix for aarch64 to versions up to 1.5.1 The issue we face when building pg_graphql on aarch64 is: `Invalid or unknown abi 16 for function "_ZGVnN4vv_atan2f"` It has been fixed in bindgen 0.11.3. * chore: use default nixos test to test pg_graphql extension * fix(pg_graphql): migration script from 1.5.1-mergeless to 1.5.4 Add special case handling for 1.5.1-mergeless to 1.5.4 upgrade path. Also replace CREATE FUNCTION with CREATE OR REPLACE FUNCTION to prevent conflicts in migration scripts and the same for event triggers. * fix: do not apply bindgen fix for version 1.5.4 pg_graphql 1.5.4 uses pgrx 0.11.3 which fixed the ABI issues on aarch64-linux. * feat: run pg_regress tests during build We don't recompile the extension using pgx with dev/debug symbols, but we do run the pg_regress tests to ensure everything is working correctly. * chore: bump to release --------- Co-authored-by: Sam Rose <[email protected]>
Build multiple versions of the pg_graphql extension on different PostgreSQL versions.
Add test for the extensions and their upgrade on PostgreSQL 15 and 17.
Make sure we build cargo extension and cargo-pgrx with the specified Rust version.