Skip to content

run SAAS tests against datachain #2

run SAAS tests against datachain

run SAAS tests against datachain #2

Workflow file for this run

test-datachain:
runs-on: ubuntu-latest-16-cores
needs: check-changes
if: ${{ github.event_name != 'pull_request' || needs.check-changes.outputs.datachain == 'true' }}
strategy:
matrix:
pyv: ['3.12']
group: [1, 2, 3, 4, 5, 6]
services:
postgres:
image: postgres:16.3
ports:
- 5432:5432
env:
POSTGRES_USER: test
POSTGRES_DB: database
POSTGRES_HOST_AUTH_METHOD: trust
clickhouse:
image: clickhouse/clickhouse-server:24
ports:
- 8123:8123
- 9010:9000
env:
CLICKHOUSE_DB: studio_local_db
CLICKHOUSE_USER: studio_local
CLICKHOUSE_PASSWORD: ch123456789!
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1
redis:
image: redis:7.2.5
ports:
- 6379:6379
steps:
- name: Check out the repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check out DVCX repository
uses: actions/checkout@v4
with:
repository: iterative/dvcx
ref: 0.2.1 # updated by make update_datachain
token: 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 # trufflehog:ignore
path: './backend/dvcx'
fetch-depth: 0
- name: Set up Python ${{ matrix.pyv }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.pyv }}
cache: 'pip'
- name: Install uv
run: |
python -m pip install --upgrade uv
uv --version
- name: Install dependencies
run: uv pip install --system ./backend/datachain_server[datachain,tests]
- name: Run tests
# Generate `.test_durations` file with `pytest --store-durations --durations-path ../.github/.test_durations ...`
run: >
pytest
--config-file=pyproject.toml -rsx
--cov-branch --cov=backend/datachain_server --cov-report=xml:coverage.xml
--splits=6 --group=${{ matrix.group }} --durations-path=../../.github/.test_durations
tests ../dvcx/tests
working-directory: backend/datachain_server