You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: sdk/python/tests/integration/dbt/test_dbt_project/README.md
+19-17Lines changed: 19 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,13 +8,17 @@ This directory contains a minimal dbt project used for testing the Feast dbt int
8
8
test_dbt_project/
9
9
├── dbt_project.yml # dbt project configuration
10
10
├── profiles.yml # dbt connection profiles (using DuckDB for testing)
11
+
├── seeds/ # CSV seed data for models
12
+
│ ├── driver_hourly_stats.csv
13
+
│ ├── customer_stats.csv
14
+
│ └── product_stats.csv
11
15
├── models/ # dbt SQL models
12
16
│ ├── driver_features.sql
13
17
│ ├── customer_features.sql
14
18
│ ├── product_features.sql
15
19
│ └── schema.yml # Model and column metadata
16
-
└── target/
17
-
└── manifest.json # Pre-generated dbt manifest
20
+
└── target/ # dbt build output (generated, not committed)
21
+
└── manifest.json # Generated by dbt build
18
22
```
19
23
20
24
## Models
@@ -41,12 +45,12 @@ The test project includes 3 models with different configurations:
41
45
42
46
## Pre-generated Manifest
43
47
44
-
The `target/manifest.json` file is **pre-generated** and committed to the repository. This allows tests to run without requiring:
45
-
- dbt CLI installation
46
-
-Database connections
47
-
- dbt compilation step
48
+
The `target/manifest.json` file is **generated by dbt during CI runs**. The manifest is created when `dbt build` is executed in the GitHub Actions workflow. This allows the integration tests to:
49
+
-Test actual dbt compilation and build process
50
+
-Validate the generated manifest structure
51
+
-Ensure compatibility between dbt output and Feast import
48
52
49
-
This approach keeps the tests fast and portable.
53
+
The target directory is tracked in git with a `.gitkeep` file, but the manifest.json itself is excluded via `.gitignore` since it's generated during test execution.
0 commit comments