Skip to content

Commit 7779624

Browse files
committed
[WIP]
1 parent 3ef930f commit 7779624

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

.github/workflows/test.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Test
2+
3+
on:
4+
push:
5+
branches: ["**"]
6+
pull_request:
7+
branches: ["master"]
8+
workflow_dispatch:
9+
10+
jobs:
11+
test:
12+
strategy:
13+
matrix:
14+
pg_version: [12, 13, 14, 15, 16, 17]
15+
os: [ubuntu-22.04]
16+
build: [automake, meson]
17+
tests: [sql]
18+
fail-fast: false
19+
runs-on: ubuntu-latest
20+
container:
21+
# Use prebuilt dev containers per PostgreSQL version
22+
image: ${{ format('ghcr.io/postgres-dev/ubuntu-22.04-pg{0}:1.0', matrix.pg_version) }}
23+
options: --privileged
24+
env:
25+
PGDATA: $HOME/data
26+
PG_BRANCH: ${{ format('REL_{0}_STABLE', matrix.pg_version) }}
27+
28+
steps:
29+
# Checkout shared_ispell source
30+
- name: Checkout shared_ispell
31+
uses: actions/checkout@v3
32+
33+
# Install general build tools
34+
- name: Install build tools
35+
run: |
36+
sudo apt update
37+
sudo apt install -y build-essential automake meson ninja-build pkg-config libxml2-dev wget gnupg lsb-release
38+
39+
# Set PG_CONFIG to container's dev Postgres
40+
- name: Set PG_CONFIG
41+
run: echo "PG_CONFIG=$(which pg_config)" >> $GITHUB_ENV
42+
43+
# Build shared_ispell (automake)
44+
- name: Build (automake)
45+
if: matrix.build == 'automake'
46+
run: |
47+
make USE_PGXS=1
48+
make USE_PGXS=1 install
49+
50+
# Build shared_ispell (meson)
51+
- name: Build (meson)
52+
if: matrix.build == 'meson'
53+
run: |
54+
PREFIX=$($PG_CONFIG --pgxs | sed 's|/lib/pgxs/src/makefiles/pgxs.mk||')
55+
meson setup builddir --prefix=$PREFIX
56+
meson compile -C builddir
57+
meson install -C builddir
58+
59+
# Create test database and extension
60+
- name: Create extension
61+
run: |
62+
createdb test
63+
psql -d test -c "CREATE EXTENSION shared_ispell;"
64+
65+
# Run SQL tests
66+
- name: Run SQL tests
67+
run: |
68+
for f in sql/*.sql; do
69+
echo "Running $f"
70+
psql -d test -f "$f"
71+
done
72+
73+

0 commit comments

Comments
 (0)