mirror of
https://github.com/dlt-hub/dlt.git
synced 2025-12-17 19:31:30 +00:00
* 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
107 lines
3.1 KiB
YAML
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
|