8000 Sam/sync versions by samrose · Pull Request #925 · supabase/postgres · GitHub
[go: up one dir, main page]

Skip to content

Sam/sync versions #925

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

Merged
merged 15 commits into from
Apr 3, 2024
Merged

Sam/sync versions #925

merged 15 commits into from
Apr 3, 2024

Conversation

samrose
Copy link
Collaborator
@samrose samrose commented Mar 28, 2024

What kind of change does this PR introduce?

This PR introduces a /nix folder in this repo, plus a flake.nix and flake.lock that facilitate using the Nix package management system to package supabase/postgres, and all of our extensions and wrappers. A user will need nix installed on their machine. As of 4/1/2024 the package set only builds on target machines (x86_64-linux and aarch64-linux), however work is under way to also support building and using directly on aarch64-darwin (macOs). As of 4/1/2024, versions of packages and extensions are synced from /ansible/vars.yml via a utility that can be run by executing nix run .#sync-exts-versions (you must have nix installed and be on the supported x86_64-linux and aarch64-linux for this command to work). The short term goal is to sync these versions as they are updated by our infrastructure and postgres teams, then to see the nix packaged versions build successfully in parallel over time, along with tests of the nix packaged versions passing.

The supabase/postgres repo will continue to source it's dependencies from ansible for the short term, while we stabilize this nix build.

This pr also updates postgres to 15.6

Next steps

Forthcoming PR's will include:

  • integrating the nix work into our ansible/packer builds,
  • building natively on aarch64-darwin (macOs),
  • ability to override and specify postgresql 15 version directly
  • more testing
  • eventually a git pre commit hook to perform the sync (needs to be able to build on macos first)
  • compare our built version of postgresql 15.6 to the version sourced from debian packages that is currently in user (to compare patches, etc to avoid surprises)

Impact on users of this repo

As of this PR, there is no impact on users of the repo.

@samrose samrose requested review from a team as code owners March 28, 2024 05:18
@samrose samrose mentioned this pull request Mar 28, 2024
@samrose samrose requested a review from a team as a code owner April 1, 2024 15:02
@samrose samrose force-pushed the sam/sync-versions branch from 9be266f to 2fe314d Compare April 1, 2024 15:13
run the sync util on the nix expressions, and then build and test
against those versions as synced from ansible/vars.yml
paring down to psql 15.6 + extensions/wrappers (put aside oriole and
psql 16 for now, will bring back when ready)
@samrose samrose self-assigned this Apr 1, 2024
Copy link
Contributor
@darora darora left a comment

Choose a reason for hiding this comment

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

Approving to unblock further work. Not carefully reviewed (I'm not the right person to review nix code in any case), which is OK here as it doesn't modify the existing build.

@samrose samrose merged commit 3688dd5 into develop Apr 3, 2024
@samrose samrose deleted the sam/sync-versions branch April 3, 2024 14:00
damonrand pushed a commit to cepro/postgres that referenced this pull request Jun 15, 2025
* feat: integrating a parallel nix-based build of supabase psql, exts, wrappers
includes experimental integration of orioledb and patched psql 16 for orioledb

* docs: updating docs to correspond with new location

* feat: clearing out commented out citus references in the nix implementation

* chore: fmt

* chore: update maintainer gh username

* feat: update pgvector to 0.6.0

* feat: include nix specific ci (may require env vars configured in repo settings)

* fix: deprecate justfile

* feat: wip update versions from ansible vars data

* chore: stashing progress

* feat: WIP tooling that will update versions, source and cargovendor sha

* feat: more work toward versions sync

* fix: gh action targets

* fix: conform name

* feat: bring all exts into local/native build (no more upstream)
run the sync util on the nix expressions, and then build and test
against those versions as synced from ansible/vars.yml
paring down to psql 15.6 + extensions/wrappers (put aside oriole and
psql 16 for now, will bring back when ready)
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.

4 participants
0