GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — feat: Add integration tests for dbt import by YassinNouh21 · Pull Request #5899 · feast-dev/feast

Conversation

@YassinNouh21

@YassinNouh21 YassinNouh21 commented Jan 24, 2026 •
edited by devin-ai-integration Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Collaborator

Summary

  • Add comprehensive integration tests for dbt import functionality
  • Fix bugs in test assertions (entity.join_key, object count, entity comparison)
  • Add test coverage for error handling, type mapping edge cases, and code generation validation

Test Coverage

  • 37 tests covering:
    • Manifest parsing and filtering
    • All data source types (BigQuery, Snowflake, File)
    • Type mapping including Array, Bool, parameterized types
    • Error handling (missing manifest, invalid JSON)
    • Code generation with ast.parse() validation

Test plan

  • All 37 tests pass locally
  • Tests are isolated with pytest.ini to avoid loading heavy dependencies

Open with Devin

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@YassinNouh21
YassinNouh21 requested a review from a team as a code owner January 24, 2026 11:46
@YassinNouh21
YassinNouh21 force-pushed the copilot/add-integration-tests-for-dbt-import branch from 4423c32 to 37224b0 Compare January 24, 2026 11:53
franciscojavierarceo
franciscojavierarceo reviewed Jan 26, 2026
View reviewed changes
Comment thread .github/workflows/dbt-integration-tests.yml Outdated
dbt deps
dbt build

- name: Setup Feast project for dbt import test

@franciscojavierarceo franciscojavierarceo Jan 26, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Can you instead put most of the logic into the Makefile so that we can easily run make dbt-integration-test and swap that here?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
franciscojavierarceo
franciscojavierarceo reviewed Jan 26, 2026
View reviewed changes
Comment thread sdk/python/pytest.ini

filterwarnings =
error::_pytest.warning_types.PytestConfigWarning
error::_pytest.warning_types.PytestUnhandledCoroutineWarning

@franciscojavierarceo franciscojavierarceo Jan 26, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why remove this?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
YassinNouh21
YassinNouh21 commented Jan 26, 2026
View reviewed changes

@YassinNouh21 YassinNouh21 left a comment

Copy link
Copy Markdown
Collaborator Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed review comments in the latest commit:

Comment 1 (Makefile): Created test-python-integration-dbt target that consolidates all the dbt test logic. Now you can run make test-python-integration-dbt locally!

Comment 2 (pytest.ini): The error::_pytest.warning_types.PytestUnhandledCoroutineWarning line was accidentally removed. It's been restored.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@franciscojavierarceo

franciscojavierarceo commented Jan 26, 2026

Copy link
Copy Markdown
Member

@YassinNouh21 can you post a screen shot of the feast UI and the dbt UI lineage graphs to see how they render?

Also looks like you may have this hooked up to mcp to handle this, which is pretty cool

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@franciscojavierarceo

franciscojavierarceo commented Jan 26, 2026

Copy link
Copy Markdown
Member

@YassinNouh21 you can spin up the UI locally with feast ui after you compile the dbt models. you should also be able to render the dbt ui locally.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@YassinNouh21

YassinNouh21 commented Jan 26, 2026

Copy link
Copy Markdown
Collaborator Author
image image
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@franciscojavierarceo

franciscojavierarceo commented Jan 26, 2026

Copy link
Copy Markdown
Member

hmm the protobuf issue sounds like a real concern, no?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

devin-ai-integration[bot]
devin-ai-integration Bot reviewed Feb 7, 2026
View reviewed changes

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 2 potential issues.

⚠️ 1 issue in files not directly in the diff

⚠️ FEAST_TYPE_TO_VALUE_TYPE maps Int32 to ValueType.INT64 and Float32 to ValueType.DOUBLE instead of their correct narrower types (sdk/python/feast/dbt/mapper.py:32-35)

The FEAST_TYPE_TO_VALUE_TYPE mapping in the production code incorrectly widens Int32 → ValueType.INT64 and Float32 → ValueType.DOUBLE, losing precision information for entity value types.

Root Cause and Impact

ValueType.INT32 (value 3) and ValueType.FLOAT (value 6) both exist in feast/value_type.py:43-46, yet the mapping at sdk/python/feast/dbt/mapper.py:32 maps Int32 to ValueType.INT64 and at line 34 maps Float32 to ValueType.DOUBLE.

This mapping is used by _infer_entity_value_type (mapper.py:201-207) which is called during create_feature_view and create_all_from_model to set the entity's value_type. As a result, when a dbt model declares an entity column as int32 or float32, the created Feast Entity will have a widened value type (INT64 / DOUBLE), which may cause type mismatches downstream when the entity is used for online/offline lookups against stores that distinguish between 32-bit and 64-bit types.

Actual: Int32 → ValueType.INT64, Float32 → ValueType.DOUBLE
Expected: Int32 → ValueType.INT32, Float32 → ValueType.FLOAT

View 6 additional findings in Devin Review.

Open in Devin Review

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread sdk/python/tests/integration/dbt/test_dbt_integration.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

devin-ai-integration[bot]
devin-ai-integration Bot reviewed Feb 7, 2026
View reviewed changes

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 3 new potential issues.

⚠️ 2 issues in files not directly in the diff

⚠️ Codegen excludes entity columns from FeatureView schema, contradicting mapper's documented design (sdk/python/feast/dbt/codegen.py:251)

The DbtCodeGenerator.generate() method at sdk/python/feast/dbt/codegen.py:251 builds its exclusion set as excluded = set(entity_cols) | {self.timestamp_field}, which removes entity columns from the generated FeatureView's schema fields. This directly contradicts the mapper's behavior.

Root Cause: Inconsistent entity column handling between codegen and mapper

In sdk/python/feast/dbt/mapper.py:362-366, the mapper explicitly documents that entity columns should NOT be excluded from the schema:

# Note: entity columns should NOT be excluded - FeatureView.__init__
# expects entity columns to be in the schema and will extract them
excluded = {ts_field}

But the codegen at sdk/python/feast/dbt/codegen.py:251 does the opposite:

excluded = set(entity_cols) | {self.timestamp_field}

This means:

  • Mapper API creates FeatureViews with entity columns in schema (e.g., driver_id appears in fv.schema)
  • Codegen API (and CLI --output) creates FeatureViews WITHOUT entity columns in schema

The test at test_dbt_integration.py:233-235 confirms the mapper keeps entity columns: assert "driver_id" in feature_names, but no codegen test verifies schema contents, so the discrepancy goes undetected.

Impact: FeatureViews created via generated code will have different schema content than those created via the mapper. This can cause inconsistencies when downstream code inspects fv.schema for data validation, column discovery, or schema evolution checks.


⚠️ FEAST_TYPE_TO_VALUE_TYPE maps Int32 to ValueType.INT64 and Float32 to ValueType.DOUBLE instead of their correct narrower types (sdk/python/feast/dbt/mapper.py:32-35)

The FEAST_TYPE_TO_VALUE_TYPE mapping in the production code incorrectly widens Int32 → ValueType.INT64 and Float32 → ValueType.DOUBLE, losing precision information for entity value types.

Root Cause and Impact

ValueType.INT32 (value 3) and ValueType.FLOAT (value 6) both exist in feast/value_type.py:43-46, yet the mapping at sdk/python/feast/dbt/mapper.py:32 maps Int32 to ValueType.INT64 and at line 34 maps Float32 to ValueType.DOUBLE.

This mapping is used by _infer_entity_value_type (mapper.py:201-207) which is called during create_feature_view and create_all_from_model to set the entity's value_type. As a result, when a dbt model declares an entity column as int32 or float32, the created Feast Entity will have a widened value type (INT64 / DOUBLE), which may cause type mismatches downstream when the entity is used for online/offline lookups against stores that distinguish between 32-bit and 64-bit types.

Actual: Int32 → ValueType.INT64, Float32 → ValueType.DOUBLE
Expected: Int32 → ValueType.INT32, Float32 → ValueType.FLOAT

View 14 additional findings in Devin Review.

Open in Devin Review

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread Makefile
@cd sdk/python/tests/integration/dbt && \
echo "Setting up Feast project..." && \
mkdir -p feast_repo/data && \
echo "project: feast_dbt_test\nregistry: data/registry.db\nprovider: local\nonline_store:\n type: sqlite\n path: data/online_store.db" > feast_repo/feature_store.yaml

@devin-ai-integration devin-ai-integration Bot Feb 7, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Makefile echo with \n escape sequences relies on shell-specific behavior, fails on bash

The echo command on line 200 uses \n to produce newlines in the generated feature_store.yaml, but POSIX echo behavior with escape sequences is implementation-defined. On systems where /bin/sh is bash (or when Make's SHELL is set to bash), echo does NOT interpret \n, producing a single-line file with literal \n text — resulting in invalid YAML that causes the subsequent feast dbt import command to fail.

Root Cause and Impact

The command:

echo "project: feast_dbt_test\nregistry: data/registry.db\n..." > feast_repo/feature_store.yaml

On Ubuntu CI, /bin/sh is dash, which interprets \n in echo — so this works in CI. However, on macOS or systems where bash is the default shell, echo outputs literal \n, producing:

project: feast_dbt_test\nregistry: data/registry.db\nprovider: local\nonline_store:\n  type: sqlite\n  path: data/online_store.db

This is a single line of invalid YAML, causing feast dbt import on the next recipe line to fail with a YAML parsing error. Using printf instead of echo is the portable fix, since printf always interprets escape sequences.

Impact: make test-python-integration-dbt fails on developer machines running macOS or any system where Make's shell is bash.

Suggested change
echo "project: feast_dbt_test\nregistry: data/registry.db\nprovider: local\nonline_store:\n type: sqlite\n path: data/online_store.db" > feast_repo/feature_store.yaml
printf 'project: feast_dbt_test\nregistry: data/registry.db\nprovider: local\nonline_store:\n type: sqlite\n path: data/online_store.db\n' > feast_repo/feature_store.yaml
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@YassinNouh21
YassinNouh21 force-pushed the copilot/add-integration-tests-for-dbt-import branch 2 times, most recently from 8b034ca to 4318134 Compare February 7, 2026 13:35
@YassinNouh21

YassinNouh21 commented Feb 7, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Collaborator Author

DCO check failing due to unsigned commits. Suggest squash merge with Signed-off-by to resolve.
@franciscojavierarceo

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

franciscojavierarceo
franciscojavierarceo approved these changes Feb 7, 2026
View reviewed changes
@franciscojavierarceo

franciscojavierarceo commented Feb 7, 2026

Copy link
Copy Markdown
Member

@YassinNouh21 you can also click the DCO button in the UI

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@YassinNouh21
YassinNouh21 force-pushed the copilot/add-integration-tests-for-dbt-import branch 2 times, most recently from 4896e07 to e971bc1 Compare February 7, 2026 15:58
@YassinNouh21
Add comprehensive integration tests for dbt import feature
3b5a3f8
- Add 82 integration tests covering dbt manifest parsing, mapper, codegen, and CLI
- Add real dbt project with DuckDB for testing
- Add GitHub Actions workflow for dbt integration tests
- Fix entity column handling: codegen now includes entity columns in schema
  to match mapper behavior (FeatureView.__init__ expects them)
- Fix type mapping: Int32→ValueType.INT32, Float32→ValueType.FLOAT
  (instead of widening to INT64/DOUBLE)
- Add multi-entity column support tests
- Add comprehensive test coverage for edge cases, validation errors,
  special characters, and CLI commands

Signed-off-by: yassinnouh21 <[email protected]>
@YassinNouh21
YassinNouh21 force-pushed the copilot/add-integration-tests-for-dbt-import branch from e971bc1 to 3b5a3f8 Compare February 7, 2026 16:06
@YassinNouh21

YassinNouh21 commented Feb 7, 2026

Copy link
Copy Markdown
Collaborator Author

@franciscojavierarceo PR is now clean with all tests passing. Ready for review.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ntkathole ntkathole added the ok-to-test label Feb 7, 2026
ntkathole
ntkathole reviewed Feb 9, 2026
View reviewed changes
Comment thread .github/workflows/dbt-integration-tests.yml

jobs:
dbt-integration-test:
runs-on: ubuntu-latest

@ntkathole ntkathole Feb 9, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we have a check for ok-to-test label so that resources don't get spin up for every PR raised, similar to other integration tests pattern
https://github.com/feast-dev/feast/blob/master/.github/workflows/pr_local_integration_tests.yml#L13

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

YassinNouh21 reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
@YassinNouh21

YassinNouh21 commented Feb 9, 2026

Copy link
Copy Markdown
Collaborator Author

@ntkathole Done! Added the ok-to-test label check following the same pattern as pr_local_integration_tests.yml

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@YassinNouh21
Add ok-to-test label check to dbt integration workflow
e5209dd
- Add PR trigger types (opened, synchronize, labeled)
- Add label check condition requiring ok-to-test/approved/lgtm
- Prevents resource spin-up for every PR

Signed-off-by: yassinnouh21 <[email protected]>
@YassinNouh21
YassinNouh21 force-pushed the copilot/add-integration-tests-for-dbt-import branch from 1b9a0f4 to e5209dd Compare February 9, 2026 09:26
ntkathole
ntkathole approved these changes Feb 9, 2026
View reviewed changes
@ntkathole
ntkathole merged commit a444692 into feast-dev:master Feb 9, 2026
19 checks passed

Uh oh!

There was an error while loading. Please reload this page.

franciscojavierarceo pushed a commit that referenced this pull request Feb 17, 2026
@feast-ci-bot
chore(release): release 0.60.0
7de3db1
# [0.60.0](v0.59.0...v0.60.0) (2026-02-17)

### Bug Fixes

* Added a flag to correctly download the go binaries ([0f77135](0f77135))
* Adds mapping of date Trino's type into string Feast's type ([531e839](531e839))
* **ci:** Use uv run for pytest in master_only benchmark step ([#5957](#5957)) ([5096010](5096010))
* Disable materialized odfvs for historical retrieval ([#5880](#5880)) ([739d28a](739d28a))
* Fix linting and formatting issues ([#5907](#5907)) ([42ca14a](42ca14a))
* Make timestamp field handling  compatible with Athena V3 ([#5936](#5936)) ([e2bad34](e2bad34))
* Support pgvector under non-default schema ([#5970](#5970)) ([c636cd4](c636cd4))
* unit tests not running on main branch ([#5909](#5909)) ([62fe664](62fe664))
* Update java dep which blocking release ([#5903](#5903)) ([a5b8186](a5b8186))
* Update the dockerfile with golang 1.24.12. ([#5918](#5918)) ([be1b522](be1b522))
* Use context.Background() in client constructors ([#5897](#5897)) ([984f93a](984f93a))

### Features

* Add blog post for PyTorch ecosystem announcement ([#5906](#5906)) ([d2eb629](d2eb629))
* Add blog post on Feast dbt integration ([#5915](#5915)) ([b3c8138](b3c8138))
* Add DynamoDB in-place list update support for array-based features ([#5916](#5916)) ([aa5973f](aa5973f))
* Add HTTP connection pooling for remote online store client ([#5895](#5895)) ([e022bf8](e022bf8))
* Add integration tests for dbt import ([#5899](#5899)) ([a444692](a444692))
* Add lazy initialization and feature service caching ([#5924](#5924)) ([b37b7d0](b37b7d0))
* Add multiple entity support to dbt integration ([#5901](#5901)) ([05a4fb5](05a4fb5)), closes [#5872](#5872)
* Add PostgreSQL online store support for Go feature server ([#5963](#5963)) ([b8c6f3d](b8c6f3d))
* Add publish docker image of Go feature server. ([#5923](#5923)) ([759d8c6](759d8c6))
* Add Set as feature type ([#5888](#5888)) ([52458fc](52458fc))
* Added online server worker config support in operator ([#5926](#5926)) ([193c72a](193c72a))
* Added support for OpenLineage integration ([#5884](#5884)) ([df70d8d](df70d8d))
* Adjust ray offline store to support abfs(s) ADLS Azure Storage ([#5911](#5911)) ([d6c0b2d](d6c0b2d))
* Batch_engine config injection in feature_store.yaml through operator ([#5938](#5938)) ([455d56c](455d56c))
* Consolidate Python packaging - remove setup.py/setup.cfg, standardize on pyproject.toml and uv ([16696b8](16696b8))
* **go:** Add MySQL registry store support for Go feature server ([#5933](#5933)) ([19f9bb8](19f9bb8))
* Improve local dev experience with file-aware hooks and auto parallelization ([#5956](#5956)) ([839b79e](839b79e))
* Modernize precommit hooks and optimize test performance ([#5929](#5929)) ([ea7d4fa](ea7d4fa))
* Optimize container infrastructure for production ([#5881](#5881)) ([5ebdac8](5ebdac8))
* Optimize DynamoDB online store for improved latency ([#5889](#5889)) ([fcc8274](fcc8274))
soooojinlee pushed a commit to soooojinlee/feast that referenced this pull request Feb 18, 2026
@feast-ci-bot @soooojinlee
chore(release): release 0.60.0
3b56ca5
# [0.60.0](feast-dev/feast@v0.59.0...v0.60.0) (2026-02-17)

### Bug Fixes

* Added a flag to correctly download the go binaries ([0f77135](feast-dev@0f77135))
* Adds mapping of date Trino's type into string Feast's type ([531e839](feast-dev@531e839))
* **ci:** Use uv run for pytest in master_only benchmark step ([feast-dev#5957](feast-dev#5957)) ([5096010](feast-dev@5096010))
* Disable materialized odfvs for historical retrieval ([feast-dev#5880](feast-dev#5880)) ([739d28a](feast-dev@739d28a))
* Fix linting and formatting issues ([feast-dev#5907](feast-dev#5907)) ([42ca14a](feast-dev@42ca14a))
* Make timestamp field handling  compatible with Athena V3 ([feast-dev#5936](feast-dev#5936)) ([e2bad34](feast-dev@e2bad34))
* Support pgvector under non-default schema ([feast-dev#5970](feast-dev#5970)) ([c636cd4](feast-dev@c636cd4))
* unit tests not running on main branch ([feast-dev#5909](feast-dev#5909)) ([62fe664](feast-dev@62fe664))
* Update java dep which blocking release ([feast-dev#5903](feast-dev#5903)) ([a5b8186](feast-dev@a5b8186))
* Update the dockerfile with golang 1.24.12. ([feast-dev#5918](feast-dev#5918)) ([be1b522](feast-dev@be1b522))
* Use context.Background() in client constructors ([feast-dev#5897](feast-dev#5897)) ([984f93a](feast-dev@984f93a))

### Features

* Add blog post for PyTorch ecosystem announcement ([feast-dev#5906](feast-dev#5906)) ([d2eb629](feast-dev@d2eb629))
* Add blog post on Feast dbt integration ([feast-dev#5915](feast-dev#5915)) ([b3c8138](feast-dev@b3c8138))
* Add DynamoDB in-place list update support for array-based features ([feast-dev#5916](feast-dev#5916)) ([aa5973f](feast-dev@aa5973f))
* Add HTTP connection pooling for remote online store client ([feast-dev#5895](feast-dev#5895)) ([e022bf8](feast-dev@e022bf8))
* Add integration tests for dbt import ([feast-dev#5899](feast-dev#5899)) ([a444692](feast-dev@a444692))
* Add lazy initialization and feature service caching ([feast-dev#5924](feast-dev#5924)) ([b37b7d0](feast-dev@b37b7d0))
* Add multiple entity support to dbt integration ([feast-dev#5901](feast-dev#5901)) ([05a4fb5](feast-dev@05a4fb5)), closes [feast-dev#5872](feast-dev#5872)
* Add PostgreSQL online store support for Go feature server ([feast-dev#5963](feast-dev#5963)) ([b8c6f3d](feast-dev@b8c6f3d))
* Add publish docker image of Go feature server. ([feast-dev#5923](feast-dev#5923)) ([759d8c6](feast-dev@759d8c6))
* Add Set as feature type ([feast-dev#5888](feast-dev#5888)) ([52458fc](feast-dev@52458fc))
* Added online server worker config support in operator ([feast-dev#5926](feast-dev#5926)) ([193c72a](feast-dev@193c72a))
* Added support for OpenLineage integration ([feast-dev#5884](feast-dev#5884)) ([df70d8d](feast-dev@df70d8d))
* Adjust ray offline store to support abfs(s) ADLS Azure Storage ([feast-dev#5911](feast-dev#5911)) ([d6c0b2d](feast-dev@d6c0b2d))
* Batch_engine config injection in feature_store.yaml through operator ([feast-dev#5938](feast-dev#5938)) ([455d56c](feast-dev@455d56c))
* Consolidate Python packaging - remove setup.py/setup.cfg, standardize on pyproject.toml and uv ([16696b8](feast-dev@16696b8))
* **go:** Add MySQL registry store support for Go feature server ([feast-dev#5933](feast-dev#5933)) ([19f9bb8](feast-dev@19f9bb8))
* Improve local dev experience with file-aware hooks and auto parallelization ([feast-dev#5956](feast-dev#5956)) ([839b79e](feast-dev@839b79e))
* Modernize precommit hooks and optimize test performance ([feast-dev#5929](feast-dev#5929)) ([ea7d4fa](feast-dev@ea7d4fa))
* Optimize container infrastructure for production ([feast-dev#5881](feast-dev#5881)) ([5ebdac8](feast-dev@5ebdac8))
* Optimize DynamoDB online store for improved latency ([feast-dev#5889](feast-dev#5889)) ([fcc8274](feast-dev@fcc8274))

Signed-off-by: soojin <[email protected]>
jyejare pushed a commit to opendatahub-io/feast that referenced this pull request Mar 9, 2026
@YassinNouh21 @jyejare
feat: Add integration tests for dbt import (feast-dev#5899)
d6608d8
* Add comprehensive integration tests for dbt import feature

- Add 82 integration tests covering dbt manifest parsing, mapper, codegen, and CLI
- Add real dbt project with DuckDB for testing
- Add GitHub Actions workflow for dbt integration tests
- Fix entity column handling: codegen now includes entity columns in schema
  to match mapper behavior (FeatureView.__init__ expects them)
- Fix type mapping: Int32→ValueType.INT32, Float32→ValueType.FLOAT
  (instead of widening to INT64/DOUBLE)
- Add multi-entity column support tests
- Add comprehensive test coverage for edge cases, validation errors,
  special characters, and CLI commands

Signed-off-by: yassinnouh21 <[email protected]>

* Add ok-to-test label check to dbt integration workflow

- Add PR trigger types (opened, synchronize, labeled)
- Add label check condition requiring ok-to-test/approved/lgtm
- Prevents resource spin-up for every PR

Signed-off-by: yassinnouh21 <[email protected]>

---------

Signed-off-by: yassinnouh21 <[email protected]>
Shizoqua pushed a commit to Shizoqua/feast that referenced this pull request Mar 18, 2026
@YassinNouh21 Shizoqua
feat: Add integration tests for dbt import (feast-dev#5899)
7629b5c
* Add comprehensive integration tests for dbt import feature

- Add 82 integration tests covering dbt manifest parsing, mapper, codegen, and CLI
- Add real dbt project with DuckDB for testing
- Add GitHub Actions workflow for dbt integration tests
- Fix entity column handling: codegen now includes entity columns in schema
  to match mapper behavior (FeatureView.__init__ expects them)
- Fix type mapping: Int32→ValueType.INT32, Float32→ValueType.FLOAT
  (instead of widening to INT64/DOUBLE)
- Add multi-entity column support tests
- Add comprehensive test coverage for edge cases, validation errors,
  special characters, and CLI commands

Signed-off-by: yassinnouh21 <[email protected]>

* Add ok-to-test label check to dbt integration workflow

- Add PR trigger types (opened, synchronize, labeled)
- Add label check condition requiring ok-to-test/approved/lgtm
- Prevents resource spin-up for every PR

Signed-off-by: yassinnouh21 <[email protected]>

---------

Signed-off-by: yassinnouh21 <[email protected]>
Signed-off-by: Shizoqua <[email protected]>
Shizoqua pushed a commit to Shizoqua/feast that referenced this pull request Mar 18, 2026
@feast-ci-bot Shizoqua
chore(release): release 0.60.0
4b51239
# [0.60.0](feast-dev/feast@v0.59.0...v0.60.0) (2026-02-17)

### Bug Fixes

* Added a flag to correctly download the go binaries ([0f77135](feast-dev@0f77135))
* Adds mapping of date Trino's type into string Feast's type ([531e839](feast-dev@531e839))
* **ci:** Use uv run for pytest in master_only benchmark step ([feast-dev#5957](feast-dev#5957)) ([5096010](feast-dev@5096010))
* Disable materialized odfvs for historical retrieval ([feast-dev#5880](feast-dev#5880)) ([739d28a](feast-dev@739d28a))
* Fix linting and formatting issues ([feast-dev#5907](feast-dev#5907)) ([42ca14a](feast-dev@42ca14a))
* Make timestamp field handling  compatible with Athena V3 ([feast-dev#5936](feast-dev#5936)) ([e2bad34](feast-dev@e2bad34))
* Support pgvector under non-default schema ([feast-dev#5970](feast-dev#5970)) ([c636cd4](feast-dev@c636cd4))
* unit tests not running on main branch ([feast-dev#5909](feast-dev#5909)) ([62fe664](feast-dev@62fe664))
* Update java dep which blocking release ([feast-dev#5903](feast-dev#5903)) ([a5b8186](feast-dev@a5b8186))
* Update the dockerfile with golang 1.24.12. ([feast-dev#5918](feast-dev#5918)) ([be1b522](feast-dev@be1b522))
* Use context.Background() in client constructors ([feast-dev#5897](feast-dev#5897)) ([984f93a](feast-dev@984f93a))

### Features

* Add blog post for PyTorch ecosystem announcement ([feast-dev#5906](feast-dev#5906)) ([d2eb629](feast-dev@d2eb629))
* Add blog post on Feast dbt integration ([feast-dev#5915](feast-dev#5915)) ([b3c8138](feast-dev@b3c8138))
* Add DynamoDB in-place list update support for array-based features ([feast-dev#5916](feast-dev#5916)) ([aa5973f](feast-dev@aa5973f))
* Add HTTP connection pooling for remote online store client ([feast-dev#5895](feast-dev#5895)) ([e022bf8](feast-dev@e022bf8))
* Add integration tests for dbt import ([feast-dev#5899](feast-dev#5899)) ([a444692](feast-dev@a444692))
* Add lazy initialization and feature service caching ([feast-dev#5924](feast-dev#5924)) ([b37b7d0](feast-dev@b37b7d0))
* Add multiple entity support to dbt integration ([feast-dev#5901](feast-dev#5901)) ([05a4fb5](feast-dev@05a4fb5)), closes [feast-dev#5872](feast-dev#5872)
* Add PostgreSQL online store support for Go feature server ([feast-dev#5963](feast-dev#5963)) ([b8c6f3d](feast-dev@b8c6f3d))
* Add publish docker image of Go feature server. ([feast-dev#5923](feast-dev#5923)) ([759d8c6](feast-dev@759d8c6))
* Add Set as feature type ([feast-dev#5888](feast-dev#5888)) ([52458fc](feast-dev@52458fc))
* Added online server worker config support in operator ([feast-dev#5926](feast-dev#5926)) ([193c72a](feast-dev@193c72a))
* Added support for OpenLineage integration ([feast-dev#5884](feast-dev#5884)) ([df70d8d](feast-dev@df70d8d))
* Adjust ray offline store to support abfs(s) ADLS Azure Storage ([feast-dev#5911](feast-dev#5911)) ([d6c0b2d](feast-dev@d6c0b2d))
* Batch_engine config injection in feature_store.yaml through operator ([feast-dev#5938](feast-dev#5938)) ([455d56c](feast-dev@455d56c))
* Consolidate Python packaging - remove setup.py/setup.cfg, standardize on pyproject.toml and uv ([16696b8](feast-dev@16696b8))
* **go:** Add MySQL registry store support for Go feature server ([feast-dev#5933](feast-dev#5933)) ([19f9bb8](feast-dev@19f9bb8))
* Improve local dev experience with file-aware hooks and auto parallelization ([feast-dev#5956](feast-dev#5956)) ([839b79e](feast-dev@839b79e))
* Modernize precommit hooks and optimize test performance ([feast-dev#5929](feast-dev#5929)) ([ea7d4fa](feast-dev@ea7d4fa))
* Optimize container infrastructure for production ([feast-dev#5881](feast-dev#5881)) ([5ebdac8](feast-dev@5ebdac8))
* Optimize DynamoDB online store for improved latency ([feast-dev#5889](feast-dev#5889)) ([fcc8274](feast-dev@fcc8274))

Signed-off-by: Shizoqua <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@devin-ai-integration devin-ai-integration[bot] devin-ai-integration[bot] left review comments
@franciscojavierarceo franciscojavierarceo franciscojavierarceo approved these changes
@ntkathole ntkathole ntkathole approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

ok-to-test

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@YassinNouh21 @franciscojavierarceo @ntkathole
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.