-
-
Notifications
You must be signed in to change notification settings - Fork 218
feat: test pg_upgrade compatibility with older extension versions #1897
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
Open
jfroche
wants to merge
62
commits into
custom-github-runners
Choose a base branch
from
feat/test-pg-upgrade-older-version
base: custom-github-runners
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat: test pg_upgrade compatibility with older extension versions #1897
jfroche
wants to merge
62
commits into
custom-github-runners
from
feat/test-pg-upgrade-older-version
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
samrose
approved these changes
Nov 6, 2025
samrose
requested changes
Nov 6, 2025
Collaborator
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.
Looks great! Will just need to test before we merge it
8acfa60 to
f59c791
Compare
f59c791 to
779090b
Compare
24d66bb to
164f401
Compare
164f401 to
450b690
Compare
This comment has been minimized.
This comment has been minimized.
f6f9d9b to
9beb48a
Compare
9beb48a to
218357a
Compare
c1c4fd7 to
9b659e4
Compare
971248f to
84cfa8d
Compare
Do not create postgresql package that depends on the runtime evaluation context as that harms reproducibility.
Our changes were merged upstream, so we can now track the original repository again.
…default - Replace DeterminateSystems/nix-installer-action with custom nix-install-ephemeral action across all workflows - Change default push-to-cache from 'true' to 'false' to prevent unnecessary nix/aws configurations - Explicitly enable push-to-cache only for nix-build and nix-eval workflows where caching is beneficial
We might not need the full 8vcpu for aarch64-linux builds, so this change reduces the runner size to 4vcpu to wait less for available blacksmith runners.
Co-authored-by: samrose <samuel@supabase.io>
Fix github-matrix that would hang when nix-eval-jobs encountered errors due to subprocess pipe deadlock - stderr buffer would fill while reading stdout. This change ensure that evaluation errors are visible and the workflow fails properly while still showing which packages succeeded.
…isibility Integrates github-action-utils library to improve error and warning visibility in GitHub Actions UI through workflow command annotations.
Refactor error handling to collect and group evaluation errors similar to warnings. Errors with the same message are now displayed together with a list of affected attributes.
Extract core error messages and format them better for GitHub Actions annotations.
Add nix-eval to needs dependencies and check its result in conditional expressions to prevent downstream test jobs from running when evaluation fails.
We are running an older version of the 'result' library that uses '_value' instead of 'ok_value' to access the successful result of a computation.
efd8f49 to
a5fc472
Compare
Add test to verify that all extension versions from PostgreSQL 15 can successfully upgrade to PostgreSQL 17 using pg_upgrade. The test now validates: - Each PG 15 extension version can be upgraded to PG 17 - Extension update scripts are properly generated during upgrade - Version handling works correctly with and without update scripts - Final extension versions match expected values after upgrade
…ade compatibility When upgrading PostgreSQL versions, pg_upgrade needs access to old extension versions sql to migrate from. This adds unsupported pg_graphql versions (those not compilable with current PostgreSQL) as SQL-only packages, ensuring migration paths exist when upgrading from older PostgreSQL versions.
…pgrade compatibility When upgrading PostgreSQL versions, pg_upgrade needs access to old extension versions sql to migrate from. This adds unsupported pg_graphql versions (those not compilable with current PostgreSQL) as SQL-only packages, ensuring migration paths exist when upgrading from older PostgreSQL versions.
84cfa8d to
39db71b
Compare
When upgrading from PostgreSQL 15 to 17, pg_stat_monitor version 1.0 (PG 15-only) cannot be migrated as it uses .sql.in template files that reference MODULE_PATHNAME without proper processing for the target version. This marks version 1.0 as not pg_upgrade compatible and filters it from the version test list, allowing the test to use version 2.1 (which supports both PG 15 and 17) for pg_upgrade validation instead. Version 1.0 remains available for PG 15 installations. Also updates the expected test output for version 2.1's schema changes.
39db71b to
29a4d56
Compare
03dc754 to
c159bb6
Compare
e51f1d0 to
336162b
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add test to verify that all extension versions from PostgreSQL 15 can successfully upgrade to PostgreSQL 17 using pg_upgrade.
The test now validates: