Skip to content

Commit 72c3f8e

Browse files
haritamarclaude
andcommitted
ci: add Fabric Warehouse to CI test matrix
- Add fabric target to profiles.yml.j2 with ServicePrincipal auth - Add fabric to cloud targets matrix in test-all-warehouses.yml - Install ODBC driver for fabric target in test-warehouse.yml - Include fabric in post-test schema cleanup Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 70dbd4b commit 72c3f8e

3 files changed

Lines changed: 20 additions & 4 deletions

File tree

.github/workflows/test-all-warehouses.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ jobs:
127127
${{ inputs.dbt-version && fromJSON(format('["{0}"]', inputs.dbt-version)) ||
128128
fromJSON('["latest_official"]') }}
129129
warehouse-type:
130-
[snowflake, bigquery, redshift, databricks_catalog, athena]
130+
[snowflake, bigquery, redshift, databricks_catalog, athena, fabric]
131131
# Fusion includes: always run fusion alongside the base version for
132132
# supported warehouses. When inputs.dbt-version is already 'fusion' the
133133
# matrix deduplicates automatically.

.github/workflows/test-warehouse.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ on:
1919
- dremio
2020
- duckdb
2121
- sqlserver
22+
- fabric
2223
elementary-ref:
2324
type: string
2425
required: false
@@ -114,7 +115,7 @@ jobs:
114115
echo "SQL Server is healthy."
115116
116117
- name: Install ODBC Driver
117-
if: inputs.warehouse-type == 'sqlserver'
118+
if: inputs.warehouse-type == 'sqlserver' || inputs.warehouse-type == 'fabric'
118119
run: |
119120
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
120121
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
@@ -228,7 +229,7 @@ jobs:
228229
- name: Drop test schemas
229230
if: >-
230231
always() &&
231-
contains(fromJSON('["snowflake","bigquery","redshift","databricks_catalog","athena"]'), inputs.warehouse-type)
232+
contains(fromJSON('["snowflake","bigquery","redshift","databricks_catalog","athena","fabric"]'), inputs.warehouse-type)
232233
working-directory: ${{ env.TESTS_DIR }}
233234
continue-on-error: true
234235
run: |

integration_tests/profiles/profiles.yml.j2

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,21 @@ elementary_tests:
119119
client_secret: {{ databricks_client_secret | toyaml }}
120120
threads: 4
121121

122+
fabric: &fabric
123+
type: fabric
124+
driver: "ODBC Driver 18 for SQL Server"
125+
server: {{ fabric_server | toyaml }}
126+
port: 1433
127+
database: {{ fabric_database | toyaml }}
128+
schema: {{ schema_name }}
129+
authentication: ServicePrincipal
130+
tenant_id: {{ fabric_tenant_id | toyaml }}
131+
client_id: {{ fabric_client_id | toyaml }}
132+
client_secret: {{ fabric_client_secret | toyaml }}
133+
encrypt: true
134+
trust_cert: false
135+
threads: 4
136+
122137
athena: &athena
123138
type: athena
124139
s3_staging_dir: {{ athena_s3_staging_dir | toyaml }}
@@ -135,7 +150,7 @@ elementary_tests:
135150
elementary:
136151
target: postgres
137152
outputs:
138-
{%- set targets = ['postgres', 'clickhouse', 'trino', 'dremio', 'spark', 'duckdb', 'sqlserver', 'snowflake', 'bigquery', 'redshift', 'databricks_catalog', 'athena'] %}
153+
{%- set targets = ['postgres', 'clickhouse', 'trino', 'dremio', 'spark', 'duckdb', 'sqlserver', 'snowflake', 'bigquery', 'redshift', 'databricks_catalog', 'athena', 'fabric'] %}
139154
{%- for t in targets %}
140155
{{ t }}:
141156
<<: *{{ t }}

0 commit comments

Comments
 (0)