|
1 | | -# Development Guide: Main Feast Repository |
| 1 | +<h1>Development Guide: Main Feast Repository</h1> |
| 2 | + |
2 | 3 | > Please see [Development Guide](https://docs.feast.dev/project/development-guide) for project level development instructions. |
3 | 4 |
|
| 5 | +<h2>Table of Contents</h2> |
| 6 | + |
| 7 | +- [Overview](#overview) |
| 8 | +- [Community](#community) |
| 9 | +- [Making a pull request](#making-a-pull-request) |
| 10 | + - [Pull request checklist](#pull-request-checklist) |
| 11 | + - [Forking the repo](#forking-the-repo) |
| 12 | + - [Pre-commit Hooks](#pre-commit-hooks) |
| 13 | + - [Signing off commits](#signing-off-commits) |
| 14 | + - [Incorporating upstream changes from master](#incorporating-upstream-changes-from-master) |
| 15 | +- [Feast Python SDK / CLI](#feast-python-sdk--cli) |
| 16 | + - [Environment Setup](#environment-setup) |
| 17 | + - [Code Style & Linting](#code-style--linting) |
| 18 | + - [Unit Tests](#unit-tests) |
| 19 | + - [Integration Tests](#integration-tests) |
| 20 | + - [Local integration tests](#local-integration-tests) |
| 21 | + - [(Advanced) Full integration tests](#advanced-full-integration-tests) |
| 22 | + - [(Advanced) Running specific provider tests or running your test against specific online or offline stores](#advanced-running-specific-provider-tests-or-running-your-test-against-specific-online-or-offline-stores) |
| 23 | + - [(Experimental) Run full integration tests against containerized services](#experimental-run-full-integration-tests-against-containerized-services) |
| 24 | + - [Contrib integration tests](#contrib-integration-tests) |
| 25 | + - [(Contrib) Running tests for Spark offline store](#contrib-running-tests-for-spark-offline-store) |
| 26 | + - [(Contrib) Running tests for Trino offline store](#contrib-running-tests-for-trino-offline-store) |
| 27 | + - [(Contrib) Running tests for Postgres offline store](#contrib-running-tests-for-postgres-offline-store) |
| 28 | + - [(Contrib) Running tests for Postgres online store](#contrib-running-tests-for-postgres-online-store) |
| 29 | + - [(Contrib) Running tests for HBase online store](#contrib-running-tests-for-hbase-online-store) |
| 30 | +- [(Experimental) Feast UI](#experimental-feast-ui) |
| 31 | +- [Feast Java Serving](#feast-java-serving) |
| 32 | +- [Feast Go Client](#feast-go-client) |
| 33 | + - [Environment Setup](#environment-setup-1) |
| 34 | + - [Building](#building) |
| 35 | + - [Code Style & Linting](#code-style--linting-1) |
| 36 | + - [Unit Tests](#unit-tests-1) |
| 37 | + - [Testing with Github Actions workflows](#testing-with-github-actions-workflows) |
| 38 | +- [Issues](#issues) |
| 39 | + |
4 | 40 | ## Overview |
5 | 41 | This guide is targeted at developers looking to contribute to Feast components in |
6 | 42 | the main Feast repository: |
@@ -147,7 +183,7 @@ These tests create new temporary tables / datasets locally only, and they are cl |
147 | 183 | make test-python-integration-local |
148 | 184 | ``` |
149 | 185 |
|
150 | | -#### Full integration tests |
| 186 | +#### (Advanced) Full integration tests |
151 | 187 | To test across clouds, on top of setting up Redis, you also need GCP / AWS / Snowflake setup. |
152 | 188 |
|
153 | 189 | > Note: you can manually control what tests are run today by inspecting |
@@ -211,7 +247,7 @@ export SNOWFLAKE_CI_WAREHOUSE='[your warehouse]' |
211 | 247 |
|
212 | 248 | Then run `make test-python-integration`. Note that for Snowflake / GCP / AWS, this will create new temporary tables / datasets. |
213 | 249 |
|
214 | | -#### Running specific provider tests or running your test against specific online or offline stores |
| 250 | +#### (Advanced) Running specific provider tests or running your test against specific online or offline stores |
215 | 251 |
|
216 | 252 | 1. If you don't need to have your test run against all of the providers(`gcp`, `aws`, and `snowflake`) or don't need to run against all of the online stores, you can tag your test with specific providers or stores that you need(`@pytest.mark.universal_online_stores` or `@pytest.mark.universal_online_stores` with the `only` parameter). The `only` parameter selects specific offline providers and online stores that your test will test against. Example: |
217 | 253 |
|
@@ -245,7 +281,25 @@ The services with containerized replacements currently implemented are: |
245 | 281 |
|
246 | 282 | You can run `make test-python-integration-container` to run tests against the containerized versions of dependencies. |
247 | 283 |
|
248 | | -## Feast UI |
| 284 | +### Contrib integration tests |
| 285 | +#### (Contrib) Running tests for Spark offline store |
| 286 | +You can run `make test-python-universal-spark` to run all tests against the Spark offline store. (Note: you'll have to run `pip install -e ".[dev]"` first). |
| 287 | + |
| 288 | +Not all tests are passing yet |
| 289 | + |
| 290 | +#### (Contrib) Running tests for Trino offline store |
| 291 | +You can run `make test-python-universal-trino` to run all tests against the Trino offline store. (Note: you'll have to run `pip install -e ".[dev]"` first) |
| 292 | + |
| 293 | +#### (Contrib) Running tests for Postgres offline store |
| 294 | +TODO |
| 295 | + |
| 296 | +#### (Contrib) Running tests for Postgres online store |
| 297 | +TODO |
| 298 | + |
| 299 | +#### (Contrib) Running tests for HBase online store |
| 300 | +TODO |
| 301 | + |
| 302 | +## (Experimental) Feast UI |
249 | 303 | See [Feast contributing guide](ui/CONTRIBUTING.md) |
250 | 304 |
|
251 | 305 | ## Feast Java Serving |
|
0 commit comments