File tree Expand file tree Collapse file tree 2 files changed +57
-0
lines changed
Expand file tree Collapse file tree 2 files changed +57
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Docker Compose CI
2+ on :
3+ push :
4+ branches : [ main ]
5+ pull_request :
6+
7+ jobs :
8+ smoke-test :
9+ runs-on : ubuntu-latest
10+ steps :
11+ - name : Checkout
12+ uses : actions/checkout@v3
13+
14+ - name : Install Docker Compose (v2)
15+ run : |
16+ sudo apt-get update
17+ sudo apt-get install -y wget
18+ if ! command -v docker-compose &> /dev/null; then
19+ sudo curl -L \
20+ "https://github.com/docker/compose/releases/download/v2.21.2/docker-compose-$(uname -s)-$(uname -m)" \
21+ -o /usr/local/bin/docker-compose
22+ sudo chmod +x /usr/local/bin/docker-compose
23+ fi
24+
25+ - name : Build & start services
26+ run : docker-compose up -d --build
27+
28+ - name : Wait for PostgreSQL
29+ run : |
30+ for i in $(seq 1 15); do
31+ docker-compose exec -T postgres pg_isready -U ducklake && break
32+ echo "Waiting for PostgreSQL..."
33+ sleep 2
34+ done
35+
36+ - name : Wait for MinIO
37+ run : |
38+ for i in $(seq 1 15); do
39+ curl -f http://localhost:9000/minio/health/live && break
40+ echo "Waiting for MinIO..."
41+ sleep 2
42+ done
43+
44+ - name : Run DuckLake smoke-test
45+ run : |
46+ docker-compose exec -T ducklake-init duckdb -c "\
47+ INSTALL ducklake; \
48+ INSTALL postgres; \
49+ ATTACH 'ducklake:postgres:dbname=ducklake_catalog host=postgres user=ducklake password=ducklake' AS the_ducklake (DATA_PATH 's3://ducklake/lake/'); \
50+ USE the_ducklake; \
51+ SELECT count(*) FROM ducklake.schema; \
52+ "
53+
54+ - name : Tear down
55+ if : always()
56+ run : docker-compose down -v
Original file line number Diff line number Diff line change 11# Quack: DuckLake Local Deployment
2+ [ ![ CI] ( https://github.com/MattOates/quack/actions/workflows/ci.yml/badge.svg )] ( https://github.com/MattOates/quack/actions/workflows/ci.yml )
23
34This repository provides a Docker Compose setup to run a local DuckLake lakehouse stack using PostgreSQL as the catalog database and MinIO as S3-compatible object storage. It leverages the DuckLake extensions for DuckDB to bootstrap or attach to an existing lakehouse automatically.
45
You can’t perform that action at this time.
0 commit comments