Verify our code works with the claimed dependency ranges
Bring back python 3.8 support for LlamaIndex compatibility
Add flexibility to urllib3 dependency version by extending the version range back to 1.26.x.
Solution
Remove more unused dependencies
requests (not sure when this was added; doesn't seem like it's been used for a while)
python-dateutil (no longer needed now that we've removed some date parsing default behavior in the generated client code)
Specify python-version specific dependency configuration for some dev dependencies (numpy, pandas-stubs) that were pushing us toward dropping py3.8 support
Added new reusable workflow action, .github/actions/create-index/, to create an index that will be used for subsequent testing.
Add new test workflow jobs, dependency-matrix-rest and dependency-matrix-grpc, with minimal integration test to verify the package works with different combinations of installed python dependencies.
New tests stored under tests/dependency
Integration test exercises control plane (list indexes, describe an index ) and data plane (upsert and query). It does not create a new index for each test as this is time-consuming, the test matrix is large, and index creation is extensively tested elsewhere.
Test configuration was getting unwieldy, so I split testing.yaml into testing-rest.yaml and testing-grpc.yaml
Data freshness isn't a huge issue for these tests, since the index is reused for upsert/query across different configurations. It's sufficient for these minimal tests to issue network calls and get responses without throwing exceptions to verify the dependencies are working.
Type of Change
Is "being able to install" a feature?
[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
Test Plan
Add new test matrix to verify some dependencies work across the claimed range.
Problem
Some goals:
Solution
requests
(not sure when this was added; doesn't seem like it's been used for a while)python-dateutil
(no longer needed now that we've removed some date parsing default behavior in the generated client code).github/actions/create-index/
, to create an index that will be used for subsequent testing.dependency-matrix-rest
anddependency-matrix-grpc
, with minimal integration test to verify the package works with different combinations of installed python dependencies.tests/dependency
testing.yaml
intotesting-rest.yaml
andtesting-grpc.yaml
Type of Change
Is "being able to install" a feature?
Test Plan
Add new test matrix to verify some dependencies work across the claimed range.