Skip to content

Merge pull request #3 from SoheilGtex/docs/phase3e-release-polish #11

Merge pull request #3 from SoheilGtex/docs/phase3e-release-polish

Merge pull request #3 from SoheilGtex/docs/phase3e-release-polish #11

Workflow file for this run

name: CI
on:
push:
pull_request:
permissions:
contents: read
jobs:
correctness:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Install
run: python -m pip install '.[dev]'
- name: Lint
run: ruff check .
- name: Format check
run: ruff format --check .
- name: Tests
run: pytest -q
- name: Installed import and CLI
working-directory: ${{ runner.temp }}
run: |
python -c "import fdp"
fdp --help
fdp run-all --help
- name: Deterministic offline 1k smoke
working-directory: ${{ runner.temp }}
run: |
fdp run-all --source synthetic --seed 20270916 --rows 1000 --output-dir "$RUNNER_TEMP/fdp-smoke"
python -c "import json, os; p=os.path.join(os.environ['RUNNER_TEMP'], 'fdp-smoke', 'correctness.json'); d=json.load(open(p)); assert d['checksum_equal'] is True; assert d['database_final_row_count'] == 1000; assert d['integrity_check'] == 'ok'"
- name: Stateful three-strategy correctness smoke
run: |
python scripts/benchmark.py --output-dir "$RUNNER_TEMP/fdp-benchmark" --scales 1000 --repetitions 1
test "$(wc -l < "$RUNNER_TEMP/fdp-benchmark/correctness.csv")" -gt 1
test "$(wc -l < "$RUNNER_TEMP/fdp-benchmark/query_samples.jsonl")" -eq 2250
- name: Regenerate analysis from raw files
run: |
python scripts/analyze_benchmark.py "$RUNNER_TEMP/fdp-benchmark" "$RUNNER_TEMP/fdp-analysis"
test -s "$RUNNER_TEMP/fdp-analysis/summary.csv"
test -s "$RUNNER_TEMP/fdp-analysis/query_summary.csv"