Skip to content

Commit 1dffd18

Browse files
authored
chore: Run duckdb offline store tests seperately (#6041)
* chore: run duckdb tests seperately Signed-off-by: tokoko <togurgenidze@gmail.com> * fix: pre-commit Signed-off-by: tokoko <togurgenidze@gmail.com> * fix: pixi env setup Signed-off-by: tokoko <togurgenidze@gmail.com> * fix: lock pixi Signed-off-by: tokoko <togurgenidze@gmail.com> * fix: bump pixi version in workflow Signed-off-by: tokoko <togurgenidze@gmail.com> * chore: add workflow for ray offline tests Signed-off-by: tokoko <togurgenidze@gmail.com> --------- Signed-off-by: tokoko <togurgenidze@gmail.com>
1 parent 2c2150a commit 1dffd18

File tree

15 files changed

+6058
-239
lines changed

15 files changed

+6058
-239
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: pr-duckdb-integration-tests
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- synchronize
8+
- labeled
9+
10+
jobs:
11+
integration-test-duckdb-offline:
12+
if:
13+
((github.event.action == 'labeled' && (github.event.label.name == 'approved' || github.event.label.name == 'lgtm' || github.event.label.name == 'ok-to-test')) ||
14+
(github.event.action != 'labeled' && (contains(github.event.pull_request.labels.*.name, 'ok-to-test') || contains(github.event.pull_request.labels.*.name, 'approved') || contains(github.event.pull_request.labels.*.name, 'lgtm')))) &&
15+
github.event.pull_request.base.repo.full_name == 'feast-dev/feast'
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
with:
20+
repository: ${{ github.event.repository.full_name }}
21+
ref: ${{ github.ref }}
22+
token: ${{ secrets.GITHUB_TOKEN }}
23+
submodules: recursive
24+
- name: Setup pixi
25+
uses: prefix-dev/setup-pixi@v0.8.1
26+
with:
27+
pixi-version: v0.63.1
28+
environments: duckdb-tests
29+
cache: true
30+
- name: Run DuckDB offline store integration tests
31+
run: make test-python-universal-duckdb-offline
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: pr-ray-integration-tests
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- synchronize
8+
- labeled
9+
10+
jobs:
11+
integration-test-ray-offline:
12+
if:
13+
((github.event.action == 'labeled' && (github.event.label.name == 'approved' || github.event.label.name == 'lgtm' || github.event.label.name == 'ok-to-test')) ||
14+
(github.event.action != 'labeled' && (contains(github.event.pull_request.labels.*.name, 'ok-to-test') || contains(github.event.pull_request.labels.*.name, 'approved') || contains(github.event.pull_request.labels.*.name, 'lgtm')))) &&
15+
github.event.pull_request.base.repo.full_name == 'feast-dev/feast'
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
with:
20+
repository: ${{ github.event.repository.full_name }}
21+
ref: ${{ github.ref }}
22+
token: ${{ secrets.GITHUB_TOKEN }}
23+
submodules: recursive
24+
- name: Setup pixi
25+
uses: prefix-dev/setup-pixi@v0.8.1
26+
with:
27+
pixi-version: v0.63.1
28+
environments: ray-tests
29+
cache: true
30+
- name: Run Ray offline store integration tests
31+
run: make test-python-universal-ray-offline

.secrets.baseline

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1317,14 +1317,14 @@
13171317
"filename": "sdk/python/tests/integration/feature_repos/repo_configuration.py",
13181318
"hashed_secret": "d90e76ef629fb00c95f4e84fec29fbda111e2392",
13191319
"is_verified": false,
1320-
"line_number": 457
1320+
"line_number": 461
13211321
},
13221322
{
13231323
"type": "Secret Keyword",
13241324
"filename": "sdk/python/tests/integration/feature_repos/repo_configuration.py",
13251325
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
13261326
"is_verified": false,
1327-
"line_number": 459
1327+
"line_number": 463
13281328
}
13291329
],
13301330
"sdk/python/tests/integration/feature_repos/universal/data_sources/file.py": [
@@ -1333,14 +1333,14 @@
13331333
"filename": "sdk/python/tests/integration/feature_repos/universal/data_sources/file.py",
13341334
"hashed_secret": "d70eab08607a4d05faa2d0d6647206599e9abc65",
13351335
"is_verified": false,
1336-
"line_number": 258
1336+
"line_number": 257
13371337
},
13381338
{
13391339
"type": "Secret Keyword",
13401340
"filename": "sdk/python/tests/integration/feature_repos/universal/data_sources/file.py",
13411341
"hashed_secret": "d70eab08607a4d05faa2d0d6647206599e9abc65",
13421342
"is_verified": false,
1343-
"line_number": 258
1343+
"line_number": 257
13441344
}
13451345
],
13461346
"sdk/python/tests/integration/feature_repos/universal/online_store/couchbase.py": [
@@ -1539,5 +1539,5 @@
15391539
}
15401540
]
15411541
},
1542-
"generated_at": "2026-03-01T00:58:44Z"
1542+
"generated_at": "2026-03-01T19:07:31Z"
15431543
}

Makefile

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,9 @@ test-python-integration-dbt: ## Run dbt integration tests
245245
python -m pytest tests/integration/dbt/test_dbt_integration.py -v --tb=short
246246
@echo "✓ dbt integration tests completed successfully!"
247247

248+
test-python-universal-duckdb-offline: ## Run Python DuckDB offline store integration tests
249+
pixi run -e duckdb-tests test
250+
248251
test-python-universal-spark: ## Run Python Spark integration tests
249252
PYTHONPATH='.' \
250253
FULL_REPO_CONFIGS_MODULE=sdk.python.feast.infra.offline_stores.contrib.spark_repo_configuration \
@@ -392,22 +395,7 @@ test-python-universal-postgres-offline: ## Run Python Postgres integration tests
392395
sdk/python/tests
393396

394397
test-python-universal-ray-offline: ## Run Python Ray offline store integration tests
395-
PYTHONPATH='.' \
396-
FULL_REPO_CONFIGS_MODULE=sdk.python.feast.infra.offline_stores.contrib.ray_repo_configuration \
397-
PYTEST_PLUGINS=sdk.python.feast.infra.offline_stores.contrib.ray_offline_store.tests \
398-
python -m pytest -n 8 --integration \
399-
-m "not universal_online_stores and not benchmark" \
400-
-k "not test_historical_retrieval_with_validation and \
401-
not test_universal_cli and \
402-
not test_go_feature_server and \
403-
not test_feature_logging and \
404-
not test_logged_features_validation and \
405-
not test_lambda_materialization_consistency and \
406-
not gcs_registry and \
407-
not s3_registry and \
408-
not test_snowflake and \
409-
not test_spark" \
410-
sdk/python/tests
398+
pixi run -e ray-tests test
411399

412400
test-python-ray-compute-engine: ## Run Python Ray compute engine tests
413401
PYTHONPATH='.' \

0 commit comments

Comments
 (0)