Skip to content
Merged

Dev #4923

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
aec0e6f
use clickhosue for vlm
hanars Aug 6, 2025
ff53122
clickhouse vlm unit tests
hanars Aug 6, 2025
fb18914
Merge branch 'dev' of https://github.com/broadinstitute/seqr into cli…
hanars Aug 6, 2025
a786801
docker lint
hanars Aug 6, 2025
068c5b7
code ql fix
hanars Aug 6, 2025
7beb423
python script for db setup
hanars Aug 6, 2025
b2a0b5a
move file to right location
hanars Aug 6, 2025
35c718e
fix test service port?
hanars Aug 6, 2025
aaaadf4
separate files for different backends
hanars Aug 6, 2025
cdfbc6e
debug failed clickhouse setup
hanars Aug 6, 2025
875e8d1
fix imports
hanars Aug 6, 2025
8000011
better clickhosue health check
hanars Aug 6, 2025
ce6714f
codacy fix
hanars Aug 6, 2025
6afd9fe
fix coverage omit
hanars Aug 6, 2025
aa08759
wrong clickhouse port?
hanars Aug 6, 2025
5968467
fix coverage omit for realz
hanars Aug 6, 2025
fe93663
debug
hanars Aug 6, 2025
026932f
debug
hanars Aug 6, 2025
fa0d195
debug
hanars Aug 6, 2025
e1fc265
debug
hanars Aug 6, 2025
6c4c446
use correct server and port for test data setup
hanars Aug 6, 2025
da5ae7f
fix db name in data setup
hanars Aug 6, 2025
13ba564
fix port
hanars Aug 6, 2025
5322c53
better query syntax
hanars Aug 6, 2025
c65d0af
remove debug
hanars Aug 6, 2025
491e145
ui tweak
hanars Aug 6, 2025
23c3e4c
remove references t dag from UI
hanars Aug 6, 2025
b22ed1c
update URLS
hanars Aug 6, 2025
be98e94
backend specific trgger functiosn
hanars Aug 6, 2025
85e0210
shared project models getting
hanars Aug 7, 2025
43e2152
actually delete project data
hanars Aug 7, 2025
8fc801e
data manager tests for all 3 backends
hanars Aug 7, 2025
0aa0adf
dag specific tests for clickhouse
hanars Aug 7, 2025
79eb230
test helper name cleanup
hanars Aug 7, 2025
871df62
actually test dropped proejct
hanars Aug 7, 2025
0b8c3a4
undo debug
hanars Aug 7, 2025
6182bd3
Merge pull request #4917 from broadinstitute/clickhouse-vlm
hanars Aug 7, 2025
8c9168c
codacy fix
hanars Aug 7, 2025
75cddd1
Merge pull request #4920 from broadinstitute/delete-project-clickhouse
hanars Aug 7, 2025
0c2c1fb
update clickhouse env vars
hanars Aug 7, 2025
f88bbe2
Merge pull request #4921 from broadinstitute/vlm-env-var-update
hanars Aug 7, 2025
ef387de
Revert "Merge pull request #4916 from broadinstitute/benb/join_table_…
hanars Aug 8, 2025
ee529af
migrations
hanars Aug 8, 2025
7eceb90
fix fistrue loading for new join tables
hanars Aug 6, 2025
49f6874
clean up
hanars Aug 8, 2025
54fd243
clean up
hanars Aug 8, 2025
f847b27
clean up migrations to prevent recreation of tables in empty db
hanars Aug 8, 2025
cb6a548
Revert "clean up migrations to prevent recreation of tables in empty db"
hanars Aug 8, 2025
df7daf7
create deprecated annotations tsables in fdifferent dir
hanars Aug 8, 2025
a530e21
codacy
hanars Aug 8, 2025
ff7b3a2
Merge pull request #4922 from broadinstitute/revert-rocksdb-to-joi-an…
hanars Aug 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 45 additions & 2 deletions .github/workflows/vlm-unit-tests.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
name: VLM Unit Tests
permissions:
contents: read

# Run the test suite on pushes (incl. merges) to master and dev
# Run the test suite when a PR is opened, pushed to, or reopened
Expand All @@ -19,7 +21,7 @@ on:
- 'hail_search/fixtures/*'

jobs:
vlm:
vlm_hail_backend:
runs-on: ubuntu-latest
container: hailgenetics/hail:0.2.128

Expand All @@ -36,5 +38,46 @@ jobs:
export NODE_ID=TestVLM
export MACHINE_MEM=24
export JAVA_OPTS_XSS=16M
coverage run --source="./vlm" --omit="./vlm/__main__.py" -m pytest vlm/
coverage run --source="./vlm" --omit="./vlm/__main__.py","./vlm/setup_clickhouse_test_data.py","./vlm/clickhouse_utils.py" -m pytest vlm/
coverage report --fail-under=95

vlm_clickhouse:
runs-on: ubuntu-latest
container: hailgenetics/hail:0.2.128

services:
clickhouse:
image: bitnami/clickhouse:latest
ports:
- 8123:8123 # HTTP interface
options: >-
--health-cmd "clickhouse-client --query 'SELECT 1'"
--health-interval 10s
--health-timeout 5s
--health-retries 5
--name clickhouse
env:
CLICKHOUSE_USER: clickhouse_test_user
CLICKHOUSE_PASSWORD: clickhouse_test_password
ALLOW_EMPTY_PASSWORD: no

steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip wheel
pip install -r vlm/requirements-test.txt
- name: Set up Clickhouse Settings and Data
run: python3 vlm/setup_clickhouse_test_data.py clickhouse 8123 clickhouse_test_user clickhouse_test_password
- name: Run coverage tests
run: |
export SEQR_BASE_URL=https://test-seqr.org/
export NODE_ID=TestVLM
export CLICKHOUSE_SERVICE_HOSTNAME=clickhouse
export CLICKHOUSE_SERVICE_PORT=8123
export CLICKHOUSE_VLM_USERNAME=vlm_test_user
export CLICKHOUSE_VLM_PASSWORD=vlm_test_password
export CLICKHOUSE_DATABASE=test_seqr
coverage run --source="./vlm" --omit="./vlm/__main__.py","./vlm/setup_clickhouse_test_data.py","./vlm/hail_backend_utils.py" -m pytest vlm/
coverage report --fail-under=95

Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class Migration(migrations.Migration):
],
options={
'db_table': 'GRCh38/MITO/annotations_disk',
'engine': clickhouse_search.backend.engines.EmbeddedRocksDB(0, f'{CLICKHOUSE_DATA_DIR}/GRCh38/MITO/annotations', flatten_nested=0, primary_key='key'),
'engine': clickhouse_search.backend.engines.EmbeddedRocksDB(0, f'{CLICKHOUSE_DATA_DIR}/v0/GRCh38/MITO/annotations', flatten_nested=0, primary_key='key'),
},
managers=[
('objects', django.db.models.manager.Manager()),
Expand All @@ -62,7 +62,7 @@ class Migration(migrations.Migration):
],
options={
'db_table': 'GRCh38/MITO/annotations_memory',
'engine': clickhouse_search.backend.engines.EmbeddedRocksDB(0, f'{CLICKHOUSE_IN_MEMORY_DIR}/GRCh38/MITO/annotations', flatten_nested=0, primary_key='key'),
'engine': clickhouse_search.backend.engines.EmbeddedRocksDB(0, f'{CLICKHOUSE_IN_MEMORY_DIR}/v0/GRCh38/MITO/annotations', flatten_nested=0, primary_key='key'),
},
managers=[
('objects', django.db.models.manager.Manager()),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class Migration(migrations.Migration):
],
options={
'db_table': 'GRCh38/SV/annotations_disk',
'engine': clickhouse_search.backend.engines.EmbeddedRocksDB(0, f'{CLICKHOUSE_DATA_DIR}/GRCh38/SV/annotations', flatten_nested=0, primary_key='key'),
'engine': clickhouse_search.backend.engines.EmbeddedRocksDB(0, f'{CLICKHOUSE_DATA_DIR}/v0/GRCh38/SV/annotations', flatten_nested=0, primary_key='key'),
},
managers=[
('objects', django.db.models.manager.Manager()),
Expand Down Expand Up @@ -74,7 +74,7 @@ class Migration(migrations.Migration):
],
options={
'db_table': 'GRCh38/SV/annotations_memory',
'engine': clickhouse_search.backend.engines.EmbeddedRocksDB(0, f'{CLICKHOUSE_IN_MEMORY_DIR}/GRCh38/SV/annotations', flatten_nested=0, primary_key='key'),
'engine': clickhouse_search.backend.engines.EmbeddedRocksDB(0, f'{CLICKHOUSE_IN_MEMORY_DIR}/v0/GRCh38/SV/annotations', flatten_nested=0, primary_key='key'),
},
managers=[
('objects', django.db.models.manager.Manager()),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class Migration(migrations.Migration):
],
options={
'db_table': 'GRCh38/GCNV/annotations_disk',
'engine': clickhouse_search.backend.engines.EmbeddedRocksDB(0, f'{CLICKHOUSE_DATA_DIR}/GRCh38/GCNV/annotations', flatten_nested=0, primary_key='key'),
'engine': clickhouse_search.backend.engines.EmbeddedRocksDB(0, f'{CLICKHOUSE_DATA_DIR}/v0/GRCh38/GCNV/annotations', flatten_nested=0, primary_key='key'),
},
managers=[
('objects', django.db.models.manager.Manager()),
Expand All @@ -63,7 +63,7 @@ class Migration(migrations.Migration):
],
options={
'db_table': 'GRCh38/GCNV/annotations_memory',
'engine': clickhouse_search.backend.engines.EmbeddedRocksDB(0, f'{CLICKHOUSE_IN_MEMORY_DIR}/GRCh38/GCNV/annotations', flatten_nested=0, primary_key='key'),
'engine': clickhouse_search.backend.engines.EmbeddedRocksDB(0, f'{CLICKHOUSE_IN_MEMORY_DIR}/v0/GRCh38/GCNV/annotations', flatten_nested=0, primary_key='key'),
},
managers=[
('objects', django.db.models.manager.Manager()),
Expand Down
Loading