docs/project/maintainers.md
Please see the Development Guide for project level development instructions and Contributing Guide for specific details on how to set up your develop environment and contribute to Feast.
In most scenarios, your code changes or the areas of Feast that you are actively maintaining will only touch parts of the code(e.g one offline store/online store).
NOTE: Remember to frequently sync your fork master branch with feast-dev/feast:master.
unit-tests
linter
fork-pr-integration-tests-[provider]
.github/workflows folder has examples of common workflows(aws, gcp, and snowflake).
fork_pr_integration_tests_[provider].yml from .github/fork_workflows to .github/workflows.fork_pr_integration_tests_[provider].yml (more details below) to only run the integration tests that are relevant to your area of interest.build_wheels
Fork specific integration tests are run by the fork_pr_integration_tests.yml_[provider] yaml workflow files.
Under the integration-test-python job, replace your github repo with your feast github repo name.
If your offline store/online store needs special setup, add it to the job similar to how gcp is setup.
- name: Authenticate to Google Cloud
uses: 'google-github-actions/auth@v1'
with:
credentials_json: '${{ secrets.GCP_SA_KEY }}'
- name: Set up gcloud SDK
uses: google-github-actions/setup-gcloud@v1
with:
project_id: ${{ secrets.GCP_PROJECT_ID }}
Add any environment variables that you need to your github secrets.
Integration Tests section.secrets.SECRET_NAME.To limit pytest in your github workflow to test only your specific tests, leverage the -k option for pytest.
pytest -n 8 --cov=./ --cov-report=xml --color=yes sdk/python/tests --integration --durations=5 --timeout=1200 --timeout_method=thread -k "BigQuery and not dynamo and not Redshift"
Everytime a pull request or a change to a pull request is made, the integration tests, the local integration tests, the unit tests, and the linter should run.
Sample fork setups can be found here: snowflake and bigquery.