Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .github/workflows/min-deps-parse.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Installs dbt-databricks at lowest-direct dependency resolution and
# runs `dbt parse`, catching constraint ranges that admit versions
# the code doesn't support. Default test paths resolve to
# highest-compatible versions, so lower bounds drift untested.
#
# Runs post-merge rather than on PRs because fork PRs cannot issue
# the OIDC token required by the JFrog proxy and protected runner.
# Acceptable compromise: a bad merge sits on the target branch
# briefly before the gate fires, but well before any release tag.

name: Min-Deps Parse

on:
push:
branches:
- "main"
- "*.latest"
workflow_dispatch:

permissions:
id-token: write
contents: read

defaults:
run:
shell: bash

jobs:
parse-at-lowest-direct:
name: dbt parse at lowest-direct resolution
runs-on:
group: databricks-protected-runner-group
labels: linux-ubuntu-latest
timeout-minutes: 5

steps:
- name: Check out the repository
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- name: Setup JFrog PyPI Proxy
uses: ./.github/actions/setup-jfrog-pypi

- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.10"

- name: Install uv
uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4
with:
cache-local-path: ~/.cache/uv

- name: Install dbt-databricks at lowest-direct dep resolution
run: |
uv venv --python 3.10
uv pip install --resolution lowest-direct .

- name: dbt parse against min-deps fixture
run: .venv/bin/dbt parse --project-dir tests/min_deps_smoke --profiles-dir tests/min_deps_smoke
4 changes: 4 additions & 0 deletions tests/min_deps_smoke/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
target/
logs/
dbt_packages/
.user.yml
5 changes: 5 additions & 0 deletions tests/min_deps_smoke/dbt_project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: 'min_deps_smoke'
version: '1.0.0'
config-version: 2

profile: 'min_deps_smoke'
1 change: 1 addition & 0 deletions tests/min_deps_smoke/models/select_one.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
select 1 as n
9 changes: 9 additions & 0 deletions tests/min_deps_smoke/profiles.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
min_deps_smoke:
target: dev
outputs:
dev:
type: databricks
schema: min_deps_smoke
host: fake.databricks.test
http_path: /sql/1.0/warehouses/fake
token: fake-token
Loading