-
Notifications
You must be signed in to change notification settings - Fork 10
44 lines (44 loc) · 1.6 KB
/
postgres.yml
File metadata and controls
44 lines (44 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
name: 🐘 Postgres CI
on:
push:
pull_request:
schedule:
- cron: "0 12 10 * *" # Monthly at noon on the tenth
jobs:
build:
strategy:
fail-fast: false
matrix:
pg: [18, 17, 16, 15, 14, 13]
os:
- { icon: 🐧, arch: amd64, on: ubuntu-latest }
# - { icon: 🐧, arch: arm64, on: ubuntu-24.04-arm } # XXX
name: 🐘 PostgreSQL ${{ matrix.pg }} ${{ matrix.os.icon }} ${{ matrix.os.arch }}
runs-on: ${{ matrix.os.on }}
container: pgxn/pgxn-tools
steps:
- name: Start Postgres ${{ matrix.pg }}
run: pg-start ${{ matrix.pg }} libcurl4-openssl-dev uuid-dev libre2-dev
- name: Install Extensions
run: pgxn install re2
- name: Checkout the Repository
uses: actions/checkout@v6
with: { submodules: true }
- name: Start ClickHouse
run: .github/ubuntu/clickhouse.sh
- name: Cache Dependencies
uses: actions/cache@v5
with:
path: vendor/_build/*
key: vendor-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('.git/modules/clickhouse-cpp/refs/heads/master') }}
# Required to prevent clickhouse-cpp from rebuilding because it depends
# on this file in the Makefile. https://github.com/actions/checkout/issues/968
- name: Reset Vendor Timestamp
run: cd vendor/clickhouse-cpp && touch -d $(git log -1 --format="@%ct" CMakeLists.txt) CMakeLists.txt
- name: Test DSO
run: pg-build-test
- name: Clean
run: make clean NO_VENDOR_CLEAN=1
- name: Test Static
run: pg-build-test
env: { CH_BUILD: static }