Skip to content

Commit 566c210

Browse files
committed
feat(ci) :: run the database matrix against DuckDB
Before the matrix covered sqlite, postgres, mysql, mssql, psqlODBC and Oracle. DuckDB was only used to build the `-duckdb` Docker image. Now DuckDB joins the matrix and runs in `/tmp/sqlpage-test.duckdb`.
1 parent b91629d commit 566c210

2 files changed

Lines changed: 9 additions & 0 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,9 @@ jobs:
104104
- database: oracle
105105
container: oracle
106106
db_url: "Driver=Oracle 21 ODBC driver;Dbq=//127.0.0.1:1521/FREEPDB1;Uid=root;Pwd=Password123!"
107+
- database: duckdb
108+
container: ""
109+
db_url: "Driver=DuckDB;Database=/tmp/sqlpage-test.duckdb"
107110
steps:
108111
- uses: actions/checkout@v7
109112
# Reuse the exact Linux test harnesses produced by compile_and_lint.
@@ -121,6 +124,11 @@ jobs:
121124
- name: Install PostgreSQL ODBC driver
122125
if: matrix.setup_odbc
123126
run: sudo apt-get install -y odbc-postgresql
127+
- name: Install DuckDB ODBC driver
128+
if: matrix.database == 'duckdb'
129+
run: |
130+
sudo apt-get update && sudo apt-get install -y unixodbc unzip
131+
sudo scripts/install-duckdb-odbc.sh
124132
- name: Install Oracle ODBC driver
125133
if: matrix.database == 'oracle'
126134
run: |

‎docker-compose.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
# DATABASE_URL='mysql://root:Password123!@localhost/sqlpage'
77
# DATABASE_URL='Driver={/usr/lib64/psqlodbcw.so};Server=127.0.0.1;Port=5432;Database=sqlpage;UID=root;PWD=Password123!'
88
# DATABASE_URL='Driver=Oracle 21 ODBC driver;Dbq=//127.0.0.1:1521/FREEPDB1;Uid=root;Pwd=Password123!'
9+
# DATABASE_URL='Driver=DuckDB;Database=/tmp/sqlpage-test.duckdb'
910

1011
# Run for instance:
1112
# docker compose up postgres

0 commit comments

Comments
 (0)