Skip to content

Run (intensive) tests nightly #11

Run (intensive) tests nightly

Run (intensive) tests nightly #11

Workflow file for this run

name: Run (intensive) tests nightly
on:
schedule:
# 2:15 AM PDT, offseted by a few minutes because:
# "The schedule event can be delayed during periods of high loads of GitHub Actions workflow runs. High load times include the start of every hour. If the load is sufficiently high enough, some queued jobs may be dropped."
- cron: '15 9 * * *'
jobs:
test-cluster:
strategy:
fail-fast: false
matrix:
test-globs: ["chromadb/test/property/test_collections.py",
"chromadb/test/property/test_add.py",
"chromadb/test/property/test_filtering.py",
"chromadb/test/property/test_embeddings.py"]
runs-on: "depot-ubuntu-22.04-8"
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/python
with:
python-version: "3.12"
- uses: ./.github/actions/tilt
- name: Test
run: bin/cluster-test.sh bash -c 'python -m pytest "${{ matrix.test-globs }}"'
shell: bash
env:
PROPERTY_TESTING_PRESET: slow
- name: Get logs of all services
id: get-logs
if: success() || failure()
run: |
bin/get-logs.sh "${{ matrix.test-globs }}"
# Output the logs zip file path as a job output
echo "logs_zip_path=$(pwd)/$(basename "${{ matrix.test-globs }}" .py)_logs.zip" >> $GITHUB_OUTPUT
shell: bash
- name: Upload logs as artifact
if: success() || failure()
uses: actions/upload-artifact@v2
with:
name: logs
path: ${{ steps.get-logs.outputs.logs_zip_path }}
- name: Send PagerDuty alert on failure
if: ${{ failure() }}
uses: Entle/action-pagerduty-alert@0.2.0
with:
pagerduty-integration-key: '${{ secrets.PAGERDUTY_INTEGRATION_KEY }}'
pagerduty-dedup-key: distributed-test-failed-${{ matrix.test-globs}}