Add support for external extensions (#2088) #2162
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: [ "PG14" ] | |
pull_request: | |
branches: [ "PG14" ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get latest commit id of PostgreSQL 14 | |
run: | | |
echo "PG_COMMIT_HASH=$(git ls-remote git://git.postgresql.org/git/postgresql.git refs/heads/REL_14_STABLE | awk '{print $1}')" >> $GITHUB_ENV | |
- name: Cache PostgreSQL 14 | |
uses: actions/cache@v3 | |
id: pg14cache | |
with: | |
path: ~/pg14 | |
key: ${{ runner.os }}-v1-pg14-${{ env.PG_COMMIT_HASH }} | |
- name: Install PostgreSQL 14 and some extensions | |
if: steps.pg14cache.outputs.cache-hit != 'true' | |
run: | | |
git clone --depth 1 --branch REL_14_STABLE git://git.postgresql.org/git/postgresql.git ~/pg14source | |
cd ~/pg14source | |
./configure --prefix=$HOME/pg14 CFLAGS="-std=gnu99 -ggdb -O0" --enable-cassert | |
make install -j$(nproc) > /dev/null | |
cd contrib | |
cd fuzzystrmatch | |
make PG_CONFIG=$HOME/pg14/bin/pg_config install -j$(nproc) > /dev/null | |
cd ../pg_trgm | |
make PG_CONFIG=$HOME/pg14/bin/pg_config install -j$(nproc) > /dev/null | |
- uses: actions/checkout@v3 | |
- name: Build AGE | |
id: build | |
run: | | |
make PG_CONFIG=$HOME/pg14/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/pg14/bin/pg_config install -j$(nproc) > /dev/null | |
- name: Regression tests | |
id: regression_tests | |
run: | | |
make PG_CONFIG=$HOME/pg14/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 |