Files
dlt/.github/workflows/test_hub.yml
rudolfix 06bc05848b (chore) adds hub extra (#3428)
* adds hub extra

* makes hub module more user friendly when hub not installed

* test and lint fixes

* adds plugin version check util function

* adds dlt-runtime to hub extra, minimal import tests

* bumps to dlthub 0.20.0 alpha

* lists pipelines with cli using the same functions as dashboard, dlt pipeline will list pipelines by default

* adds configured propfiles method on context so only profiles with configs or pipelines are listed

* adds list of locations that contained actual configs to provider interface

* improves workspace and profile commands

* test fixes

* fixes tests
2025-12-05 16:15:19 +01:00

107 lines
3.1 KiB
YAML

name: hub | dlthub features
#
# dlthub smoke tests against the nightly build.
#
on:
workflow_call:
workflow_dispatch:
env:
RUNTIME__LOG_LEVEL: ERROR
jobs:
run_hub_features:
name: test
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
dlthub_dep: ["", "https://dlt-packages.fra1.digitaloceanspaces.com/dlthub/dlthub-0.0.0+nightly-py3-none-any.whl"]
# Test all python versions on ubuntu only
exclude:
- os: "macos-latest"
python-version: "3.10"
- os: "macos-latest"
python-version: "3.12"
- os: "macos-latest"
python-version: "3.13"
- os: "windows-latest"
python-version: "3.10"
- os: "windows-latest"
python-version: "3.12"
- os: "windows-latest"
python-version: "3.13"
defaults:
run:
shell: bash
runs-on: ${{ matrix.os }}
steps:
- name: Check out
uses: actions/checkout@master
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
activate-environment: true
enable-cache: true
- name: Install min dependencies
run: uv sync
- name: run import tests
run: uv run pytest tests/hub/test_plugin_import.py
# NOTE: needed for mssql source tests in plus
- name: Install ODBC driver for SQL Server
run: |
sudo ACCEPT_EULA=Y apt-get install --yes msodbcsql18
if: matrix.os == 'ubuntu-latest'
# still does not work in mac
# - name: Install ODBC driver for SQL Server (macOS)
# if: matrix.os == 'macos-latest'
# env:
# HOMEBREW_NONINTERACTIVE: 1
# HOMEBREW_NO_AUTO_UPDATE: 1
# HOMEBREW_NO_ANALYTICS: 1
# HOMEBREW_NO_INSTALL_CLEANUP: 1
# run: |
# brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
# printf "YES\n" | brew install msodbcsql18
# # quick diagnostics (do not fail the build if unavailable)
# odbcinst -j || true
# odbcinst -q -d || true
- name: Install all dependencies
run: make dev-hub
- name: Install dlthub
if: matrix.dlthub_dep != ''
run: uv run pip install --upgrade --force-reinstall --pre --no-cache-dir ${{ matrix.dlthub_dep }}
- name: Run tests
run: pytest tests/hub
# if: matrix.os != 'macos-latest'
matrix_job_required_check:
name: hub | dlthub features tests
needs: run_hub_features
runs-on: ubuntu-latest
if: always()
steps:
- name: Check matrix job results
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
run: |
echo "One or more matrix job tests failed or were cancelled. You may need to re-run them." && exit 1