Add support for external extensions (#2088) #2164
Workflow file for this run
This file contains 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
name: Build / Regression | |
on: | |
push: | |
branches: [ 'PG16' ] | |
pull_request: | |
branches: [ 'PG16' ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get latest commit id of PostgreSQL 16 | |
run: | | |
echo "PG_COMMIT_HASH=$(git ls-remote git://git.postgresql.org/git/postgresql.git refs/heads/REL_16_STABLE | awk '{print $1}')" >> $GITHUB_ENV | |
- name: Cache PostgreSQL 16 | |
uses: actions/cache@v3 | |
id: pg16cache | |
with: | |
path: ~/pg16 | |
key: ${{ runner.os }}-v1-pg16-${{ env.PG_COMMIT_HASH }} | |
- name: Install PostgreSQL 16 and some extensions | |
if: steps.pg16cache.outputs.cache-hit != 'true' | |
run: | | |
git clone --depth 1 --branch REL_16_STABLE git://git.postgresql.org/git/postgresql.git ~/pg16source | |
cd ~/pg16source | |
./configure --prefix=$HOME/pg16 CFLAGS="-std=gnu99 -ggdb -O0" --enable-cassert | |
make install -j$(nproc) > /dev/null | |
cd contrib | |
cd fuzzystrmatch | |
make PG_CONFIG=$HOME/pg16/bin/pg_config install -j$(nproc) > /dev/null | |
cd ../pg_trgm | |
make PG_CONFIG=$HOME/pg16/bin/pg_config install -j$(nproc) > /dev/null | |
- uses: actions/checkout@v3 | |
- name: Build AGE | |
id: build | |
run: | | |
make PG_CONFIG=$HOME/pg16/bin/pg_config install -j$(nproc) | |
- name: Pull and build pgvector | |
id: pgvector | |
run: | | |
git clone https://github.com/pgvector/pgvector.git | |
cd pgvector | |
make PG_CONFIG=$HOME/pg16/bin/pg_config install -j$(nproc) > /dev/null | |
- name: Regression tests | |
id: regression_tests | |
run: | | |
make PG_CONFIG=$HOME/pg16/bin/pg_config installcheck EXTRA_TESTS="pgvector fuzzystrmatch pg_trgm" | |
continue-on-error: true | |
- name: Dump regression test errors | |
if: steps.regression_tests.outcome != 'success' | |
run: | | |
echo "Dump section begin." | |
cat $HOME/work/age/age/regress/regression.diffs | |
echo "Dump section end." | |
exit 1 |