File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ name : Docker
2+
3+ on :
4+ push :
5+ branches : [main]
6+ paths :
7+ - ' Dockerfile'
8+ - ' docker-entrypoint.sh'
9+ - ' .dockerignore'
10+ - ' sidemantic/**'
11+ - ' pyproject.toml'
12+ pull_request :
13+ paths :
14+ - ' Dockerfile'
15+ - ' docker-entrypoint.sh'
16+ - ' .dockerignore'
17+ - ' sidemantic/**'
18+ - ' pyproject.toml'
19+
20+ jobs :
21+ docker :
22+ name : Docker build and test
23+ runs-on : ubuntu-latest
24+
25+ steps :
26+ - uses : actions/checkout@v4
27+
28+ - name : Build image
29+ run : docker build -t sidemantic .
30+
31+ - name : Start server (demo mode)
32+ run : |
33+ docker run -d --name sidemantic-test -p 5433:5433 sidemantic --demo
34+ for i in $(seq 1 30); do
35+ if docker logs sidemantic-test 2>&1 | grep -q "Listening on"; then
36+ echo "Server ready"
37+ break
38+ fi
39+ echo "Waiting for server... ($i/30)"
40+ sleep 1
41+ done
42+
43+ - name : Verify server logs
44+ run : docker logs sidemantic-test 2>&1
45+
46+ - name : Install psql
47+ run : sudo apt-get update && sudo apt-get install -y postgresql-client
48+
49+ - name : Test basic query
50+ run : PGPASSWORD=any psql -h localhost -p 5433 -U any -d sidemantic -c "SELECT 1 AS test"
51+
52+ - name : Test semantic layer query
53+ run : PGPASSWORD=any psql -h localhost -p 5433 -U any -d sidemantic -c "SELECT * FROM semantic_layer.customers LIMIT 3"
54+
55+ - name : Test aggregation query
56+ run : PGPASSWORD=any psql -h localhost -p 5433 -U any -d sidemantic -c "SELECT region, customer_count FROM semantic_layer.customers GROUP BY region"
57+
58+ - name : Stop server
59+ if : always()
60+ run : docker stop sidemantic-test || true
You can’t perform that action at this time.
0 commit comments