Skip to content

Commit ede0634

Browse files
committed
Add Superset integration CI job
Run a dedicated Superset integration job in GitHub Actions so changes to python-datastore-sqlalchemy are validated against Apache Superset's Datastore DB engine spec tests. The job checks out apache/superset master, uses Python 3.11 to match current Superset support, installs Superset development dependencies with uv, installs this package from the workflow checkout, initializes the Superset test database, and runs tests/integration_tests/db_engine_specs/datastore_tests.py. Install libldap2-dev, libsasl2-dev, and libssl-dev because Superset development dependencies include native packages such as python-ldap that require system headers on GitHub's Ubuntu runners. Keep the Superset validation targeted instead of running the full Superset suite on every package PR. The full upstream suite is broad and can fail for unrelated frontend, service, or environment issues; targeted Datastore engine tests provide the relevant blocking signal for this package.
1 parent c1fc78d commit ede0634

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

.github/workflows/python-ci.yaml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,56 @@ jobs:
5353

5454
- name: Run tests
5555
run: uv run pytest
56+
57+
superset-integration:
58+
runs-on: ubuntu-latest
59+
60+
env:
61+
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
62+
SUPERSET_TESTENV: "true"
63+
64+
steps:
65+
- name: Checkout package
66+
uses: actions/checkout@v4
67+
with:
68+
path: python-datastore-sqlalchemy
69+
70+
- name: Checkout Superset
71+
uses: actions/checkout@v4
72+
with:
73+
repository: apache/superset
74+
ref: master
75+
path: superset
76+
77+
- name: Set up Python
78+
uses: actions/setup-python@v5
79+
with:
80+
python-version: '3.11'
81+
82+
- name: Install uv
83+
uses: astral-sh/setup-uv@v6
84+
with:
85+
enable-cache: true
86+
87+
- name: Install Superset system dependencies
88+
run: |
89+
sudo apt-get update
90+
sudo apt-get install -y libldap2-dev libsasl2-dev libssl-dev
91+
92+
- name: Install Superset dependencies
93+
working-directory: superset
94+
run: |
95+
uv venv .venv --python 3.11
96+
uv pip install -r requirements/development.txt
97+
uv pip install -e ../python-datastore-sqlalchemy
98+
99+
- name: Initialize Superset test database
100+
working-directory: superset
101+
run: |
102+
.venv/bin/superset db upgrade
103+
.venv/bin/superset init
104+
.venv/bin/superset load-test-users
105+
106+
- name: Run Superset datastore integration tests
107+
working-directory: superset
108+
run: .venv/bin/pytest -vv tests/integration_tests/db_engine_specs/datastore_tests.py

0 commit comments

Comments
 (0)