Skip to content
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

feat: Introducing pg_lakehouse #1114

Merged
merged 105 commits into from
May 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
46e1461
registering listing table works
rebasedming Apr 26, 2024
d0b5334
not working
rebasedming Apr 26, 2024
dfe1dff
not working
rebasedming Apr 26, 2024
d24e85b
implemented scan
rebasedming Apr 26, 2024
1cdff35
fix scan issues
rebasedming Apr 26, 2024
d765d98
flatten file structure
rebasedming Apr 26, 2024
685c117
added date type
rebasedming Apr 27, 2024
cca488e
abstract AmazonS3Builder
rebasedming Apr 30, 2024
b2c02e0
debugging date issue
rebasedming Apr 30, 2024
ba5409c
fix date/timestamp
rebasedming Apr 30, 2024
653a4da
introduce basefdw trait
rebasedming Apr 30, 2024
08813c6
local file system works
rebasedming Apr 30, 2024
0ea17ed
Fix s3
rebasedming Apr 30, 2024
d34c491
remove table.rs
rebasedming Apr 30, 2024
889e943
deltalake
rebasedming Apr 30, 2024
04a9895
support deltalake
rebasedming Apr 30, 2024
dbd004e
move back options
rebasedming Apr 30, 2024
4cacd3d
analytics + lakehouse mvp
rebasedming May 1, 2024
9a17203
fix type error
rebasedming May 1, 2024
d3c5a8e
add quickstart
rebasedming May 1, 2024
d74bff0
write quickstart
rebasedming May 1, 2024
b635a32
Remove pg_sparse
rebasedming May 1, 2024
e4ce09d
move over some crates to fdw
rebasedming May 1, 2024
40c49fd
connect analytics to fdw
rebasedming May 1, 2024
179bc27
register object store in analytics
rebasedming May 1, 2024
77836ce
update readme
rebasedming May 1, 2024
cf9d796
rephrase motivation
rebasedming May 1, 2024
3522f0e
update readme more
rebasedming May 1, 2024
51d79b5
make motivation more concise
rebasedming May 1, 2024
0f3cb76
fix typo
rebasedming May 1, 2024
3fc9037
force case sensitive column names
rebasedming May 2, 2024
4d7c4b4
fix pg_analytics tests
rebasedming May 2, 2024
bb9ac30
feat: Add benchmark and other CI to pg_lakehouse (#1103)
philippemnoel May 2, 2024
1e413f0
readme
rebasedming May 2, 2024
3ac720b
Support CREATE USER MAPPING
rebasedming May 3, 2024
92a8e97
add typemod and update readme
rebasedming May 3, 2024
a73776b
update readme more
rebasedming May 3, 2024
d154827
Update README example
rebasedming May 3, 2024
d37e385
more readme changes
rebasedming May 3, 2024
840efb3
Support timestamp precisions in lakehouse
rebasedming May 3, 2024
abd69dc
wip
rebasedming May 3, 2024
1e072c1
move fdw to crate
rebasedming May 3, 2024
f7880b5
datafusion crate compiles
rebasedming May 4, 2024
e0e260a
introduce can_convert_to_attribute
rebasedming May 4, 2024
75d6591
use can_convert... function
rebasedming May 4, 2024
faae44c
restore pg_analytics to dev
rebasedming May 4, 2024
3e8d7db
start using can_convert functions
rebasedming May 4, 2024
d75d990
move base_fdw to can_convert as well
rebasedming May 4, 2024
d1d2452
fix types
rebasedming May 4, 2024
8c5958f
clean up column mismatch error messages
rebasedming May 4, 2024
65e835c
move fdw into lakehouse
rebasedming May 4, 2024
0ae2a83
fix cell.rs
rebasedming May 4, 2024
9fe2525
write_batches_to_slots
rebasedming May 5, 2024
072002e
Readme
rebasedming May 5, 2024
bcf751d
all clickbench passes
rebasedming May 5, 2024
23c8ce2
Add partitioned parquet files benchmark
philippemnoel May 5, 2024
9f7a7a7
Fix path
philippemnoel May 5, 2024
bf1c3e9
Properly catch the partitioned Parquet files
philippemnoel May 5, 2024
b1333a0
Fix path for partitioned workload
philippemnoel May 5, 2024
1b14959
tiny change
philippemnoel May 6, 2024
e5ecf99
test this
philippemnoel May 6, 2024
b994366
arrow_schema works
rebasedming May 6, 2024
51c8f48
Remove typo
philippemnoel May 6, 2024
79a91af
support binary
rebasedming May 6, 2024
91cfb46
Change types/ to schema/
rebasedming May 6, 2024
cdaf59a
Add missing query
philippemnoel May 6, 2024
87d2ed9
untested supported for timestamptz
rebasedming May 6, 2024
7971a82
support multiple attributes
rebasedming May 6, 2024
a0ddf0a
Reintroduce nightly
philippemnoel May 6, 2024
1d06fa5
fix timestamptz
rebasedming May 6, 2024
187fb1b
time wip
rebasedming May 6, 2024
0022f5e
remove pgtimestampprecision and pgtypemod
rebasedming May 6, 2024
8bbbe41
delete empty timestamp file
rebasedming May 6, 2024
3b7a56e
Support LargeBinary
rebasedming May 6, 2024
b63eb95
update readme
rebasedming May 6, 2024
206f3a5
better error messages
rebasedming May 6, 2024
f6e68d0
better store abstraction
rebasedming May 6, 2024
c657de7
opendal integrated
rebasedming May 7, 2024
03b5953
update readme
rebasedming May 7, 2024
361b41d
move some files around
rebasedming May 7, 2024
ec4c5b3
move format to datafusion
rebasedming May 7, 2024
62b35f3
move to fdw
rebasedming May 7, 2024
00a0caf
Add docs on adding a service
rebasedming May 7, 2024
bdf73a9
reword readme
rebasedming May 7, 2024
539e8ec
swap to apache opendal
rebasedming May 7, 2024
5a27149
Remove Nightly, it is not needed anymore
philippemnoel May 8, 2024
89daca7
update readme
rebasedming May 8, 2024
d5f0cd1
clarify pg 14-16 support
rebasedming May 8, 2024
07454da
fix readme
rebasedming May 8, 2024
7b4bcd1
update readme more
rebasedming May 8, 2024
f7caaac
add opendal datafusion links
rebasedming May 8, 2024
0fdd96c
update cargo.lock
rebasedming May 8, 2024
a172fb2
spell Delta Lake correctly
rebasedming May 8, 2024
e97ade5
move up arrow_schema
rebasedming May 8, 2024
5ba1ff5
Add missing partitions download step
philippemnoel May 8, 2024
7e1735e
Update to Rust stable
philippemnoel May 8, 2024
5a947d5
Nit
philippemnoel May 8, 2024
ad63284
wip
rebasedming May 8, 2024
72ed97a
remove schema paradedb
rebasedming May 8, 2024
c39508a
move utils.rs into handler.rs
rebasedming May 8, 2024
d374ad5
address comments
rebasedming May 8, 2024
eacc9fe
Use smaller datasets for CI
philippemnoel May 9, 2024
efdea60
wip
rebasedming May 9, 2024
a63cf33
rebased
rebasedming May 10, 2024
09d0c69
add pg_lakehouse builder to dockerfile
rebasedming May 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
9 changes: 9 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
**/*.csv
**/*.csv.gz
**/*.json
**/*.parquet
**/*.tbl
**/*.tsv
**/*.tsv.gz
**/*.txt
**/*.zip
52 changes: 52 additions & 0 deletions .github/workflows/benchmark-pg_lakehouse.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# workflows/benchmark-pg_lakehouse.yml
#
# Benchmark pg_lakehouse
# Benchmark ParadeDB's pg_lakehouse performance on a nightly basis. This workflow can also be triggered
# manually to benchmark other systems on one-off basis, to compare against ParadeDB.

name: Benchmark pg_lakehouse

on:
schedule:
- cron: "1 0 * * 1,2,3,4,5" # Run once per day on weekdays (days of the week 1-5) at 00:01 UTC
pull_request:
branches:
- dev
- staging
- main
paths:
- "docker/Dockerfile"
- "pg_lakehouse/Cargo.toml"
- "pg_lakehouse/benchmarks/**"
- "shared/Cargo.toml"
- ".github/workflows/benchmark-pg_lakehouse.yml"
workflow_dispatch:

concurrency:
group: benchmark-pg_lakehouse-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
benchmark-pg_lakehouse:
name: Benchmark pg_lakehouse on ${{ matrix.name }}
runs-on: ubuntu-latest-m # Size: 4-cores · 16 GB RAM · 150 GB SSD
strategy:
matrix:
include:
- name: ClickBench (Parquet, single)
flags: -w single
- name: ClickBench (Parquet, partitioned)
flags: -w partitioned

steps:
- name: Checkout Git Repository
uses: actions/checkout@v4

- name: Run Official ${{ matrix.name }} Benchmark
working-directory: pg_lakehouse/benchmarks/
run: ./benchmark.sh -t local ${{ matrix.flags }}

- name: Notify Slack on Failure
if: failure() && (github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/main')
run: |
curl -X POST -H 'Content-type: application/json' --data '{"text":"Benchmark pg_lakehouse on ${{ matrix.name }} h workflow failed -- investigate immediately!"}' ${{ secrets.SLACK_WEBHOOK_URL }}
2 changes: 2 additions & 0 deletions .github/workflows/benchmark-pg_search.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ on:
- "docker/Dockerfile"
- "pg_search/Cargo.toml"
- "pg_search/benchmarks/**"
- "shared/Cargo.toml"
- "tokenizers/Cargo.toml"
- ".github/workflows/benchmark-pg_search.yml"
workflow_dispatch:
inputs:
Expand Down
134 changes: 134 additions & 0 deletions .github/workflows/publish-pg_lakehouse.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# workflows/publish-pg_lakehouse.yml
#
# Publish pg_lakehouse
# Build and publish the pg_lakehouse extension as a .deb to GitHub Releases.

name: Publish pg_lakehouse

on:
push:
tags:
- "v*"
workflow_dispatch:
inputs:
version:
description: "The version to set for the pg_lakehouse release. This publishes the latest commit of the chosen branch and uploads it to the pre-existing GitHub Release of the provided version."
required: true
default: ""

concurrency:
group: publish-pg_lakehouse-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
publish-pg_lakehouse:
name: Publish pg_lakehouse for PostgreSQL ${{ matrix.pg_version }} on ${{ matrix.arch }}
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- runner: ubuntu-latest
pg_version: 15
arch: amd64
- runner: ubicloud-standard-8-ubuntu-2204-arm
pg_version: 15
arch: arm64
- runner: ubuntu-latest
pg_version: 16
arch: amd64
- runner: ubicloud-standard-8-ubuntu-2204-arm
pg_version: 16
arch: arm64

steps:
- name: Checkout Git Repository
uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Retrieve Ubuntu & GitHub Tag Versions
id: version
run: |
# If no workflow_dispatch version is provided, we use workflow tag trigger version
if [ -z "${{ github.event.inputs.version }}" ]; then
echo "version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
else
echo "version=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
fi
echo "ubuntu_version=$(lsb_release -rs | sed 's/\.//')" >> $GITHUB_OUTPUT

- name: Install & Configure Supported PostgreSQL Version
run: |
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt-get update && sudo apt-get install -y postgresql-${{ matrix.pg_version }} postgresql-server-dev-${{ matrix.pg_version }} debhelper devscripts dput gnupg
sudo chown -R $(whoami) /usr/share/postgresql/${{ matrix.pg_version }}/extension/ /usr/lib/postgresql/${{ matrix.pg_version }}/lib/
echo "/usr/lib/postgresql/${{ matrix.pg_version }}/bin" >> $GITHUB_PATH

# Note: We require a different version of pgrx (0.11.3) due to version compatibility
# with the supabase/wrappers project on which pg_lakehouse is based
- name: Install pgrx
run: cargo install -j $(nproc) --locked cargo-pgrx --version 0.11.3

- name: Initialize pgrx for Current PostgreSQL Version
working-directory: pg_lakehouse/
run: cargo pgrx init --pg${{ matrix.pg_version }}=/usr/lib/postgresql/${{ matrix.pg_version }}/bin/pg_config

# TODO: Add telemetry to pg_lakehouse
rebasedming marked this conversation as resolved.
Show resolved Hide resolved
- name: Package pg_lakehouse Extension with pgrx
working-directory: pg_lakehouse/
run: cargo pgrx package --features telemetry

- name: Create .deb Package
run: |
# Create installable package
mkdir archive
cp `find target/release -type f -name "pg_lakehouse*"` archive
package_dir=pg_lakehouse-${{ steps.version.outputs.version }}-pg${{ matrix.pg_version }}-${{ matrix.arch }}-ubuntu${{ steps.version.outputs.ubuntu_version }}

# Copy files into directory structure
mkdir -p ${package_dir}/usr/lib/postgresql/lib
mkdir -p ${package_dir}/var/lib/postgresql/extension
cp archive/*.so ${package_dir}/usr/lib/postgresql/lib
cp archive/*.control ${package_dir}/var/lib/postgresql/extension
cp archive/*.sql ${package_dir}/var/lib/postgresql/extension

# Symlinks to copy files into directory structure
mkdir -p ${package_dir}/usr/lib/postgresql/${{ matrix.pg_version }}/lib
mkdir -p ${package_dir}/usr/share/postgresql/${{ matrix.pg_version}}/extension
cp archive/*.so ${package_dir}/usr/lib/postgresql/${{ matrix.pg_version }}/lib
cp archive/*.control ${package_dir}/usr/share/postgresql/${{ matrix.pg_version }}/extension
cp archive/*.sql ${package_dir}/usr/share/postgresql/${{ matrix.pg_version }}/extension

# Create control file (package name cannot have underscore)
mkdir -p ${package_dir}/DEBIAN
touch ${package_dir}/DEBIAN/control
deb_version=${{ steps.version.outputs.version }}
CONTROL_FILE="${package_dir}/DEBIAN/control"
echo 'Package: pg-lakehouse' >> $CONTROL_FILE
echo 'Version:' ${deb_version} >> $CONTROL_FILE
echo 'Section: database' >> $CONTROL_FILE
echo 'Priority: optional' >> $CONTROL_FILE
echo 'Architecture: ${{ matrix.arch }}' >> $CONTROL_FILE
echo 'Depends: postgresql-${{ matrix.pg_version }}' >> $CONTROL_FILE
echo 'Maintainer: ParadeDB <support@paradedb.com>' >> $CONTROL_FILE
echo 'Description: An analytical query engine for Postgres' >> $CONTROL_FILE

# Create .deb package
sudo chown -R root:root ${package_dir}
sudo chmod -R 00755 ${package_dir}
sudo dpkg-deb --build --root-owner-group ${package_dir}

# We retrieve the GitHub release for the specific release version
- name: Retrieve GitHub Release Upload URL
id: upload_url
run: echo UPLOAD_URL=$(curl --silent https://api.github.com/repos/${{ github.repository }}/releases/tags/v${{ steps.version.outputs.version }} | jq .upload_url --raw-output) >> $GITHUB_OUTPUT

- name: Upload pg_lakehouse .deb to GitHub Release
uses: shogo82148/actions-upload-release-asset@v1
with:
github_token: ${{ secrets.GHA_CREATE_RELEASE_PAT }}
upload_url: ${{ steps.upload_url.outputs.upload_url }}
asset_path: ./pg_lakehouse-${{ steps.version.outputs.version }}-pg${{ matrix.pg_version }}-${{ matrix.arch }}-ubuntu${{ steps.version.outputs.ubuntu_version }}.deb
asset_name: pg_lakehouse-v${{ steps.version.outputs.version }}-pg${{ matrix.pg_version }}-${{ matrix.arch }}-ubuntu${{ steps.version.outputs.ubuntu_version }}.deb
3 changes: 3 additions & 0 deletions .github/workflows/test-paradedb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@ on:
- dev
paths:
- "docker/**"
- "pg_lakehouse/src/**"
- "pg_search/src/**"
- "shared/**"
- "tokenizers/**"
- ".github/workflows/test-paradedb.yml"
workflow_dispatch:

Expand Down
155 changes: 155 additions & 0 deletions .github/workflows/test-pg_lakehouse.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# workflows/test-pg_lakehouse.yml
#
# Test pg_lakehouse
# Run unit and integration tests for the pg_lakehouse extension.

name: Test pg_lakehouse

on:
pull_request:
branches:
- dev
- staging
- main
paths:
- "pg_lakehouse/**"
- "!pg_lakehouse/README.md"
- "shared/**"
- ".github/workflows/test-pg_lakehouse.yml"
push:
branches:
- dev # Run CI on dev. This is important to fill the GitHub Actions cache in a way that pull requests can see it
workflow_dispatch:
inputs:
test_upgrade_version:
description: "Upcoming pg_lakehouse version to test upgrading against"
required: false
default: ""

concurrency:
group: test-pg_lakehouse-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
test-pg_lakehouse:
name: Test pg_lakehouse on PostgreSQL ${{ matrix.pg_version }} for ${{ matrix.arch }}
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- runner: ubuntu-latest
pg_version: 14
arch: amd64
- runner: ubuntu-latest
pg_version: 15
arch: amd64
- runner: ubuntu-latest
pg_version: 16
arch: amd64
env:
default_pg_version: 16

steps:
# For the Rust cache to get filled, we need to run the CI on the dev branch after every merge. This only
# needs to happen once, so we skip the workflow for all but one of the matrix jobs in that case.
- name: Check if Skipping
id: check_skip
run: |
if [[ "${{ github.event_name }}" = "push" && "${{ matrix.pg_version }}" != "${{ env.default_pg_version }}" ]]; then
echo "This is a push event to fill Rust cache. Skipping this job."
echo "skip_remaining_steps=true" >> $GITHUB_OUTPUT
fi

- name: Checkout Git Repository
if: steps.check_skip.outputs.skip_remaining_steps != 'true'
uses: actions/checkout@v4

# This checks that the version in Cargo.toml is incremented to the next release. We only run it
# on PRs to main, which are our release promotion PRs.
- name: Check version in Cargo.toml
if: steps.check_skip.outputs.skip_remaining_steps != 'true' && github.base_ref == 'main'
working-directory: pg_lakehouse/
run: |
CARGO_VERSION=$(grep "^version" Cargo.toml | head -1 | awk -F '"' '{print $2}')
RELEASE_VERSION="${{ vars.VERSION_MAJOR }}.${{ vars.VERSION_MINOR }}.${{ vars.VERSION_PATCH }}"
if [ "$CARGO_VERSION" != "$RELEASE_VERSION" ]; then
echo "Version in Cargo.toml ($CARGO_VERSION) does not match upcoming release version ($RELEASE_VERSION), did you forget to increment it?"
exit 1
fi
echo "Version check passed!"

- name: Install Rust
if: steps.check_skip.outputs.skip_remaining_steps != 'true'
uses: dtolnay/rust-toolchain@stable

# Caches from base branches are available to PRs, but not across unrelated branches, so we only
# save the cache on the 'dev' branch, but load it on all branches.
- name: Install Rust Cache
if: steps.check_skip.outputs.skip_remaining_steps != 'true'
uses: Swatinem/rust-cache@v2
with:
prefix-key: "v1"
shared-key: ${{ runner.os }}-rust-cache-pg_lakehouse-${{ HashFiles('Cargo.lock') }}
cache-targets: true
cache-on-failure: true
cache-all-crates: true
save-if: ${{ github.ref == 'refs/heads/dev' }}

- name: Install & Configure Supported PostgreSQL Version
if: steps.check_skip.outputs.skip_remaining_steps != 'true'
run: |
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt-get update && sudo apt-get install -y postgresql-${{ matrix.pg_version }} postgresql-server-dev-${{ matrix.pg_version }}
sudo chown -R $(whoami) /usr/share/postgresql/${{ matrix.pg_version }}/extension/ /usr/lib/postgresql/${{ matrix.pg_version }}/lib/ /var/lib/postgresql/${{ matrix.pg_version }}/ /usr/lib/postgresql/${{ matrix.pg_version }}/bin/
echo "/usr/lib/postgresql/${{ matrix.pg_version }}/bin" >> $GITHUB_PATH

# Note: We require a different version of pgrx (0.11.3) due to version compatibility
# with the supabase/wrappers project on which pg_lakehouse is based
- name: Install pgrx, grcov & llvm-tools-preview
if: steps.check_skip.outputs.skip_remaining_steps != 'true'
run: |
cargo install -j $(nproc) --locked cargo-pgrx --version 0.11.3
cargo install -j $(nproc) --locked grcov
rustup component add llvm-tools-preview

# Our Rust Cache action caches the entire ~/target directory, which includes the pg_lakehouse extension. Since we
# only want to restore dependencies (to speed up the build) but not the extension itself (so the tests are representative), we
# clean any cached pg_lakehouse & dependencies build artifacts before running the tests
- name: Clean Cached Build Artifacts
if: steps.check_skip.outputs.skip_remaining_steps != 'true' && matrix.pg_version == env.default_pg_version
working-directory: pg_lakehouse/
run: cargo clean

# The integration tests also test upgrading the extension when passed the '-u' flag (only on promotion PRs)
- name: Run pg_lakehouse Cargo Test Suite
if: steps.check_skip.outputs.skip_remaining_steps != 'true'
working-directory: pg_lakehouse/
env:
LLVM_PROFILE_FILE: target/coverage/pg_lakehouse-%p-%m.profraw
RUST_BACKTRACE: full
run: |
# Add the code coverage flags to the config.toml file
echo -e "\n# Enable code coverage on Linux only, for CI builds\n[target.'cfg(target_os=\"linux\")']\nrustflags = [\"-Cinstrument-coverage\"]" >> ../.cargo/config.toml
mkdir -p ../target/coverage ../target/coverage-report

if [[ "${{ github.base_ref }}" == "main" && "${{ matrix.pg_version }}" == "${{ env.default_pg_version }}" ]]; then
# Retrieve the version to test upgrading to
if [[ "${{ github.event.inputs.test_upgrade_version }}" == "" ]]; then
echo "New version not provided, assuming the next release is the GitHub Actions Variable version..."
NEW_VERSION=${{ vars.VERSION_MAJOR }}.${{ vars.VERSION_MINOR }}.${{ vars.VERSION_PATCH }}
else
echo "Using the provided new version (likely a manual major or minor version increment)..."
NEW_VERSION="${{ github.event.inputs.test_upgrade_version }}"
fi
echo "Version to test upgrading to: $NEW_VERSION"
./runtests.sh -p sequential -v "${{ matrix.pg_version }}" -u "$NEW_VERSION" -a "${{ matrix.arch }}"
else
./runtests.sh -p sequential -v "${{ matrix.pg_version }}"
fi

# On promotion PRs, we test packaging the extension with production features enabled
- name: Test Packaging pg_lakehouse
if: steps.check_skip.outputs.skip_remaining_steps != 'true' && github.base_ref == 'main'
working-directory: pg_lakehouse/
run: cargo clean && cargo pgrx package --features telemetry
1 change: 1 addition & 0 deletions .github/workflows/test-pg_search.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ on:
paths:
- "pg_search/**"
- "tokenizers/**"
- "shared/**"
- "!pg_search/README.md"
- ".github/workflows/test-pg_search.yml"
push:
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
.DS_Store

# Cargo
Cargo.lock
target/

# Docker
Expand Down