name: Chroma Tests on: push: branches: - main - team/hypothesis-tests pull_request: branches: - main - '**' workflow_dispatch: jobs: test: timeout-minutes: 90 strategy: matrix: python: ['3.8', '3.9', '3.10', '3.11'] platform: [ubuntu-latest, windows-latest] testfile: ["--ignore-glob 'chromadb/test/property/*' --ignore-glob 'chromadb/test/stress/*' --ignore='chromadb/test/auth/test_simple_rbac_authz.py'", "chromadb/test/auth/test_simple_rbac_authz.py", "chromadb/test/property/test_add.py", "chromadb/test/property/test_collections.py", "chromadb/test/property/test_cross_version_persist.py", "chromadb/test/property/test_embeddings.py", "chromadb/test/property/test_filtering.py", "chromadb/test/property/test_persist.py"] runs-on: ${{ matrix.platform }} steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python }} - name: Install test dependencies run: python -m pip install -r requirements.txt && python -m pip install -r requirements_dev.txt - name: Upgrade SQLite run: python bin/windows_upgrade_sqlite.py if: runner.os == 'Windows' - name: Test run: python -m pytest ${{ matrix.testfile }} stress-test: timeout-minutes: 90 strategy: matrix: python: ['3.8'] platform: ['16core-64gb-ubuntu-latest', '16core-64gb-windows-latest'] testfile: ["'chromadb/test/stress/'"] runs-on: ${{ matrix.platform }} steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python }} - name: Install test dependencies run: python -m pip install -r requirements.txt && python -m pip install -r requirements_dev.txt - name: Upgrade SQLite run: python bin/windows_upgrade_sqlite.py if: runner.os == 'Windows' - name: Test run: python -m pytest ${{ matrix.testfile }}