Skip to content
Merged

Dev #5573

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
409 commits
Select commit Hold shift + click to select a range
7009f2e
clean up
hanars Aug 20, 2026
237145a
fix test setup
hanars Aug 20, 2026
cdd96e0
better scoping for new entry helpers
hanars Aug 20, 2026
53195cf
Merge branch 'depreacate-global-annotations-ht' of https://github.com…
hanars Aug 20, 2026
6aa3050
ruff
hanars Aug 20, 2026
97ce367
ruff
hanars Aug 20, 2026
3aab4d0
ruff
hanars Aug 20, 2026
27f0f78
ruff
hanars Aug 20, 2026
1b5ffd1
ruff
hanars Aug 20, 2026
a7c3bbb
updated vep mocking
hanars Aug 20, 2026
329e750
fix new sv test
hanars Aug 21, 2026
082984f
fix mito test fixture
hanars Aug 21, 2026
fcc232c
update assertion
hanars Aug 21, 2026
46d359d
syntax fix
hanars Aug 21, 2026
37fb831
Merge branch 'depreacate-global-annotations-ht' of https://github.com…
hanars Aug 21, 2026
25db204
test failures
hanars Aug 21, 2026
54e3d80
undo debug
hanars Aug 21, 2026
3797da4
debug
hanars Aug 21, 2026
5de4c68
initial copy all pipeline code
hanars Aug 11, 2026
2b61421
merge gitignore
hanars Aug 11, 2026
775c6a9
merge dockerignore
hanars Aug 11, 2026
0d3bd25
update docker copy path
hanars Aug 11, 2026
da4d297
tweak readme
hanars Aug 11, 2026
0d04860
copyy cloudbuild yaml
hanars Aug 11, 2026
dab03fb
unit tests
hanars Aug 11, 2026
3a7dc85
release workflows
hanars Aug 11, 2026
60c5a07
correct directory for unit test deps
hanars Aug 11, 2026
bd64115
fix uv commands
hanars Aug 11, 2026
84e8441
correct ruff path
hanars Aug 11, 2026
e41da52
fix uv test
hanars Aug 11, 2026
79254f5
codacy ignore
hanars Aug 11, 2026
b9f0467
fix codacy ignore
hanars Aug 11, 2026
052c99d
run test in root dir
hanars Aug 11, 2026
43f5fec
fi uv sync
hanars Aug 11, 2026
fd6dae4
fix uv commands
hanars Aug 11, 2026
49b44c4
iter test runner
hanars Aug 11, 2026
ad41676
iter test runner
hanars Aug 11, 2026
de0f912
configure uv workspace
hanars Aug 11, 2026
375e13a
iter test runner
hanars Aug 11, 2026
d7cbf54
iter test runner
hanars Aug 11, 2026
cf0c510
iter test runner
hanars Aug 11, 2026
a71e9d3
iter test approach
hanars Aug 12, 2026
985959e
iter command
hanars Aug 12, 2026
820e133
reset test command
hanars Aug 12, 2026
44df393
fix test command
hanars Aug 12, 2026
59a9548
Potential fix for pull request finding 'CodeQL / Workflow does not co…
hanars Aug 12, 2026
da20af3
plan test migration
hanars Aug 12, 2026
bdf2798
add pytest django and clean up iimports to separate clickhouse migra…
hanars Aug 12, 2026
7dcb6b1
add tests ettings module
hanars Aug 13, 2026
fb68792
clean up seqr dependencies and add stub application
hanars Aug 13, 2026
350f248
fix dict relaod behavior
hanars Aug 13, 2026
1e643b6
comment clean up
hanars Aug 13, 2026
3934d2c
django based test case
hanars Aug 13, 2026
3c052d1
plan update
hanars Aug 13, 2026
0a4e1fc
existing test cleanup
hanars Aug 13, 2026
ca83995
first opass refatcor test clcikhouse
hanars Aug 13, 2026
d7ae384
fix ruff
hanars Aug 13, 2026
a688ce7
add missed files
hanars Aug 13, 2026
d93e20b
fix ruff
hanars Aug 13, 2026
ab48f08
ruff and cleanup
hanars Aug 13, 2026
e3e5cef
missing init
hanars Aug 13, 2026
060ba50
clean up
hanars Aug 13, 2026
f432a5c
test config setup
hanars Aug 13, 2026
26d1549
fix detail parquuet fixture
hanars Aug 13, 2026
d6c8e1c
fix setup
hanars Aug 13, 2026
334c9b4
add missing file
hanars Aug 13, 2026
6744ddb
skip tests
hanars Aug 13, 2026
3f6946b
new plan
hanars Aug 13, 2026
68883d7
restore files
hanars Aug 13, 2026
6a225f6
fix fixtures
hanars Aug 13, 2026
ef89a90
fix field names
hanars Aug 13, 2026
e03b26e
misc test cleanup
hanars Aug 13, 2026
38f4c31
test cleanup and fix
hanars Aug 14, 2026
0142d0b
ruff
hanars Aug 14, 2026
c866eb3
ruff
hanars Aug 14, 2026
aabe8e6
intermediate test iter
hanars Aug 14, 2026
4f056e4
test reqrite
hanars Aug 14, 2026
eb178dd
remove plan
hanars Aug 14, 2026
254100b
unit test fix iter
hanars Aug 14, 2026
6688547
test fixes
hanars Aug 14, 2026
7edea85
fix tests
hanars Aug 14, 2026
b4793f6
ruff
hanars Aug 14, 2026
5b1ece8
fix tests
hanars Aug 14, 2026
54a7c6c
test cleanup
hanars Aug 14, 2026
c9a9bc8
fix tests
hanars Aug 14, 2026
127adc3
test cleanup
hanars Aug 14, 2026
45cef52
test cleanup
hanars Aug 14, 2026
73b02fb
fix tests
hanars Aug 14, 2026
93778a5
ruff
hanars Aug 14, 2026
56aa3d5
remove redundant test
hanars Aug 14, 2026
aae2cab
remove unneeded schema
hanars Aug 14, 2026
f432f4b
fix test
hanars Aug 14, 2026
c5cb58c
Revert "remove unneeded schema"
hanars Aug 14, 2026
3c43437
fix test
hanars Aug 14, 2026
90c780d
fix test
hanars Aug 14, 2026
03a5340
ruff
hanars Aug 14, 2026
c321e7c
fix test
hanars Aug 14, 2026
dce7fbf
fix test
hanars Aug 14, 2026
c1556ba
fix test
hanars Aug 14, 2026
18c7feb
Revert "skip tests"
hanars Aug 14, 2026
789a2bc
remove debug
hanars Aug 14, 2026
c9cc6c8
reenable codacy for pipeline
hanars Aug 17, 2026
8b33e20
quote in bash scripts
hanars Aug 17, 2026
4c64fe6
disable errors
hanars Aug 17, 2026
11dccc6
more disable rules
hanars Aug 17, 2026
1a7e9ab
more disable rules
hanars Aug 17, 2026
fa9f7ac
codacy clean up
hanars Aug 17, 2026
fe537b2
remove deprecated param
hanars Aug 17, 2026
4a22820
disable codacy errors
hanars Aug 17, 2026
9434caf
disable codacy errors
hanars Aug 17, 2026
30d1650
disable codacy errors
hanars Aug 17, 2026
0d78f5e
debug
hanars Aug 21, 2026
4508338
Merge branch 'pipeline-codacy' of https://github.com/broadinstitute/s…
hanars Aug 21, 2026
7904be2
Merge branch 'deprecate-pipeline-migrations' of https://github.com/br…
hanars Aug 21, 2026
599028a
actually delete the migrations!
hanars Aug 21, 2026
e7e5c34
Merge branch 'deprecate-pipeline-migrations' of https://github.com/br…
hanars Aug 21, 2026
d4f4d26
undo debug
hanars Aug 21, 2026
3cf100f
fix tests
hanars Aug 21, 2026
9fd72e4
undo debug
hanars Aug 21, 2026
0e55c84
debug
hanars Aug 21, 2026
d9b1237
fix filter
hanars Aug 21, 2026
46d02dd
fix test
hanars Aug 21, 2026
b25192f
better mock table
hanars Aug 23, 2026
49e7ba9
debug
hanars Aug 23, 2026
6c125dd
undo debug
hanars Aug 23, 2026
9986608
usable mito fixture data
hanars Aug 23, 2026
9110f9a
valid version for modified mt
hanars Aug 23, 2026
292b1f4
update fiel size test
hanars Aug 24, 2026
3355180
update new entries tests
hanars Aug 24, 2026
8b024cb
ruff
hanars Aug 24, 2026
efb8a19
Merge branch 'better-new-variant-tests' of https://github.com/broadin…
hanars Aug 24, 2026
4b2e5d2
fix mock paths
hanars Aug 24, 2026
2effd72
update new variant tests
hanars Aug 24, 2026
e8c7ea0
fix parquet locus parsing
hanars Aug 24, 2026
b1c1d93
fix genome guild chrom prefix
hanars Aug 24, 2026
5b730b3
fix tests
hanars Aug 24, 2026
666b394
fixy copy pasta
hanars Aug 24, 2026
0e69033
fix new etries dependencies
hanars Aug 24, 2026
2465481
handle missing max key
hanars Aug 24, 2026
25ddc4f
use existing parquet for sv dedup
hanars Aug 24, 2026
ea888d2
clean up
hanars Aug 24, 2026
008bf39
ruff
hanars Aug 24, 2026
36d3301
misc fixes
hanars Aug 24, 2026
13b3a30
fix helper test
hanars Aug 24, 2026
714a49e
union type mismatch
hanars Aug 24, 2026
9d27c68
fix xpos dt
hanars Aug 24, 2026
dc95b25
drop extra parquest cols
hanars Aug 24, 2026
21aba8d
ruff
hanars Aug 24, 2026
3293ef5
ruff
hanars Aug 24, 2026
e47e08c
fix gcnv fields
hanars Aug 24, 2026
c6295f3
type mismatch
hanars Aug 24, 2026
81872db
Merge branch 'depreacate-global-annotations-ht' of https://github.com…
hanars Aug 24, 2026
1cc7a06
clean up
hanars Aug 24, 2026
41ba2db
type mismatch handling
hanars Aug 24, 2026
1926aab
Apply suggestions from code review
hanars Aug 24, 2026
e85161d
debug
hanars Aug 24, 2026
aa24584
ruff
hanars Aug 24, 2026
cd316da
fix test
hanars Aug 24, 2026
7390626
undo debug
hanars Aug 24, 2026
6d193c1
Merge branch 'depreacate-global-annotations-ht' of https://github.com…
hanars Aug 24, 2026
1e024a3
PR feedback
hanars Aug 31, 2026
6a5c576
Merge branch 'pipeline-unit-test-django' of https://github.com/broadi…
hanars Aug 31, 2026
8fab522
Merge branch 'pipeline-runner-to-seqr-repo' of https://github.com/bro…
hanars Aug 31, 2026
16a9fb4
Merge branch 'pipeline-codacy' of https://github.com/broadinstitute/s…
hanars Aug 31, 2026
6d3fbca
Merge branch 'pipeline-unit-test-django' of https://github.com/broadi…
hanars Aug 31, 2026
21c2388
Merge branch 'pipeline-codacy' of https://github.com/broadinstitute/s…
hanars Aug 31, 2026
df3f0f2
Merge branch 'deprecate-pipeline-migrations' of https://github.com/br…
hanars Aug 31, 2026
ef65082
Merge branch 'better-new-variant-tests' of https://github.com/broadin…
hanars Aug 31, 2026
bf127a5
Merge branch 'depreacate-global-annotations-ht' of https://github.com…
hanars Aug 31, 2026
5eaecd0
debug test failures
hanars Aug 31, 2026
76c451b
fix gcn test hail table
hanars Aug 31, 2026
8c585ed
Revert "debug test failures"
hanars Aug 31, 2026
f00e583
fix tests
hanars Aug 31, 2026
9d0b010
debug test
hanars Aug 31, 2026
d5fa95c
ruff
hanars Aug 31, 2026
c916850
ruff
hanars Aug 31, 2026
7b1170c
ruff
hanars Aug 31, 2026
8f0b4dd
test fix
hanars Aug 31, 2026
269fa52
celean up
hanars Aug 31, 2026
2303274
remove unused function
hanars Sep 1, 2026
704f11b
remove unused funcs
hanars Sep 1, 2026
c1bc2ae
remove unused constants
hanars Sep 1, 2026
a659491
add missing consequence validation
hanars Sep 1, 2026
e6edec8
Merge branch 'remove-pipeline-enums' of https://github.com/broadinsti…
hanars Sep 1, 2026
4a871cd
update comment
hanars Sep 1, 2026
e8efef7
remove unused HTs
hanars Sep 1, 2026
b893af3
rewrite remap subset task for all projects
hanars Sep 1, 2026
7c80597
update parsing to actually work for multiple projects
hanars Sep 1, 2026
4564f6b
updates to reading subsetted callset
hanars Sep 1, 2026
1bf7c9e
use updated single task
hanars Sep 1, 2026
0bf0bed
use single callset for entries parquet
hanars Sep 1, 2026
ac056e0
add more testing around exported entries
hanars Sep 1, 2026
77b232b
ruff;
hanars Sep 1, 2026
b1a149d
update diagram
hanars Sep 1, 2026
b102188
fix metadata global parsing
hanars Sep 1, 2026
4bf06f8
annotate the global we actually want
hanars Sep 1, 2026
372b07f
update test;
hanars Sep 1, 2026
717a931
ruff
hanars Sep 1, 2026
7817ffd
realistic counts
hanars Sep 1, 2026
cb26b07
fix hail syntax for task complete
hanars Sep 1, 2026
737f7e6
ruff
hanars Sep 1, 2026
058bec8
Merge branch 'better-entries-test' of https://github.com/broadinstitu…
hanars Sep 1, 2026
5871e82
ruff
hanars Sep 1, 2026
1a4eba1
Bump fast-uri from 3.1.5 to 3.1.7 in /ui
dependabot[bot] Sep 2, 2026
87acaac
Bump browserslist from 4.24.2 to 4.28.8 in /ui
dependabot[bot] Sep 3, 2026
1b69f1b
Merge pull request #5567 from broadinstitute/dependabot/npm_and_yarn/…
hanars Sep 3, 2026
95fadae
Merge pull request #5568 from broadinstitute/dependabot/npm_and_yarn/…
hanars Sep 3, 2026
aefccd7
update tests
hanars Sep 3, 2026
525617e
fix util tests
hanars Sep 3, 2026
436d6c1
debug
hanars Sep 3, 2026
b01ef40
fix tests
hanars Sep 3, 2026
92ea7e2
Merge pull request #5555 from broadinstitute/depreacate-global-annota…
hanars Sep 3, 2026
bcec49e
fix test
hanars Sep 3, 2026
d949fbf
Merge branch 'dev' of https://github.com/broadinstitute/seqr into rem…
hanars Sep 3, 2026
9df8305
Merge branch 'remove-pipeline-enums' of https://github.com/broadinsti…
hanars Sep 3, 2026
9f2cff4
rename task
hanars Sep 3, 2026
565caec
split task logic
hanars Sep 3, 2026
448cbb5
Merge branch 'remove-pipeline-enums' of https://github.com/broadinsti…
hanars Sep 3, 2026
24aa490
debug
hanars Sep 3, 2026
64daf44
update ocs
hanars Sep 3, 2026
65cec03
explicitly separate out clcikhosue funcs
hanars Sep 3, 2026
938307d
add dataproc retry
hanars Sep 3, 2026
7f9e8cd
test assertion order
hanars Sep 3, 2026
4ec47f2
update tests
hanars Sep 3, 2026
d8fb9f7
clean up
hanars Sep 3, 2026
de5b222
Merge pull request #5564 from broadinstitute/remove-unused-pipeline-f…
hanars Sep 3, 2026
c45f34f
Merge branch 'dev' of https://github.com/broadinstitute/seqr into cli…
hanars Sep 3, 2026
f9e8ed9
Merge branch 'dev' of https://github.com/broadinstitute/seqr into sin…
hanars Sep 3, 2026
1961aa9
fix type checks
hanars Sep 4, 2026
fc9e158
fix index error
hanars Sep 4, 2026
a9334ad
Merge branch 'single-project-subset-task' of https://github.com/broad…
hanars Sep 4, 2026
f89d923
use less memory intensive gt stats rebuild
hanars Sep 4, 2026
c471ea8
clean up
hanars Sep 4, 2026
79ff777
ruff
hanars Sep 4, 2026
9ad154d
better back off strategy
hanars Sep 9, 2026
bca4b4e
no delay on test retry
hanars Sep 9, 2026
59a66e7
ruff
hanars Sep 9, 2026
4a4aa73
fix ordered table create syntax
hanars Sep 9, 2026
9e41bf2
pr feedback
hanars Sep 9, 2026
bf831a4
Revert "no delay on test retry"
hanars Sep 9, 2026
e31670c
mock sleep
hanars Sep 9, 2026
0c6d891
codacy
hanars Sep 9, 2026
0120881
setting override stability
hanars Sep 9, 2026
01ff52e
fix mock sleep
hanars Sep 9, 2026
e2ef688
Bump js-yaml from 3.14.2 to 3.15.2 in /ui
dependabot[bot] Sep 10, 2026
ca9da5e
Bump svgo from 2.8.3 to 2.8.4 in /ui
dependabot[bot] Sep 10, 2026
3180ca1
Merge pull request #5571 from broadinstitute/dependabot/npm_and_yarn/…
hanars Sep 10, 2026
303068a
Merge pull request #5572 from broadinstitute/dependabot/npm_and_yarn/…
hanars Sep 10, 2026
349b419
Merge pull request #5565 from broadinstitute/single-project-subset-task
hanars Sep 10, 2026
dfe3921
Merge pull request #5569 from broadinstitute/clickhouse-loading-stabi…
hanars Sep 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .cloudbuild/pipeline-docker.cloudbuild.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
steps:
- name: 'gcr.io/kaniko-project/executor:v1.3.0'
args:
- --destination=gcr.io/seqr-project/seqr-pipeline-runner:${COMMIT_SHA}
- --destination=gcr.io/seqr-project/seqr-pipeline-runner:${_CUSTOM_BRANCH_TAG}
- --dockerfile=loading_pipeline/deploy/Dockerfile
- --cache=true
- --cache-ttl=168h
- --build-arg=PIPELINE_RUNNER_APP_VERSION=${COMMIT_SHA}

timeout: 1800s
12 changes: 12 additions & 0 deletions .cloudbuild/vep-docker.cloudbuild.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Run locally with:
#
# gcloud builds submit --quiet --substitutions='_REFERENCE_GENOME=GRCh38' --config .cloudbuild/vep-docker.cloudbuild.yaml loading_pipeline/deploy
steps:
- name: 'gcr.io/kaniko-project/executor:v1.3.0'
args:
- --destination=gcr.io/seqr-project/vep-docker-image:${_REFERENCE_GENOME}
- --dockerfile=Dockerfile.vep_${_REFERENCE_GENOME}
- --cache=true
- --cache-ttl=168h

timeout: 1800s
3 changes: 2 additions & 1 deletion .codacy.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
exclude_paths:
- "deploy/postgres/initdb.sql"
- "deploy/postgres/initdb.sql"
- "loading_pipeline/deploy/Dockerfile"
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ static/*
deploy/*
!deploy/docker/seqr/*
!deploy/docker/vlm/*
loading_pipeline/*test*
.git
.vscode
.idea
74 changes: 74 additions & 0 deletions .github/workflows/pipeline-dev-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: dev release
on:
workflow_run:
workflows: ["Pipeline Unit Tests"]
types:
- completed
branches:
- dev

permissions:
id-token: write

jobs:
release:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.workflow_run.head_branch }}

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'

- name: Build package
run: |
cd loading_pipeline
rm -rf dist/
python -m pip install build
python -m build

- name: authenticate to google cloud
id: "auth"
uses: google-github-actions/auth@v0
with:
workload_identity_provider: "${{ secrets.WORKLOAD_IDENTITY_PROVIDER }}"
service_account: "${{ secrets.RUN_SA_EMAIL }}"

- name: "setup gcloud sdk"
uses: google-github-actions/setup-gcloud@v0

- name: Copy files to release directory
run: |-
gcloud storage rm -r gs://seqr-pipeline-runner-builds/dev/latest/ || echo 'No latest release'
gcloud storage cp loading_pipeline/bin/* gs://seqr-pipeline-runner-builds/dev/latest/bin/
gcloud storage cp cd loading_pipeline/dist/*.whl gs://seqr-pipeline-runner-builds/dev/latest/pyscripts.zip
gcloud storage cp loading_pipeline/bin/* gs://seqr-pipeline-runner-builds/dev/${{ github.event.workflow_run.head_sha }}/bin/
gcloud storage cp cd loading_pipeline/dist/*.whl gs://seqr-pipeline-runner-builds/dev/${{ github.event.workflow_run.head_sha }}/pyscripts.zip
docker:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.workflow_run.head_branch }}

- name: authenticate to google cloud
id: "auth"
uses: google-github-actions/auth@v3
with:
workload_identity_provider: "${{ secrets.WORKLOAD_IDENTITY_PROVIDER }}"
service_account: "${{ secrets.RUN_SA_EMAIL }}"

- name: "setup gcloud sdk"
uses: google-github-actions/setup-gcloud@v2

- name: Build and push images
run: |-
gcloud builds submit --quiet --substitutions="COMMIT_SHA=${{ github.event.workflow_run.head_sha }},_CUSTOM_BRANCH_TAG=dev" --config .cloudbuild/pipeline-docker.cloudbuild.yaml --gcs-log-dir=gs://seqr-github-actions-logs/logs .

121 changes: 121 additions & 0 deletions .github/workflows/pipeline-prod-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
name: prod release
on:
workflow_run:
workflows: ["Pipeline Unit Tests"]
types:
- completed
branches:
- master

permissions:
id-token: write
contents: write

jobs:
release:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.workflow_run.head_branch }}

- name: set up python
uses: actions/setup-python@v4
with:
python-version: '3.11'

- name: build package
run: |
cd loading_pipeline
rm -rf dist/
python -m pip install build
python -m build

- name: authenticate to google cloud
id: "auth"
uses: google-github-actions/auth@v3
with:
workload_identity_provider: "${{ secrets.WORKLOAD_IDENTITY_PROVIDER }}"
service_account: "${{ secrets.RUN_SA_EMAIL }}"

- name: "setup gcloud sdk"
uses: google-github-actions/setup-gcloud@v2

- name: Copy files to release directory
shell: bash
run: |-
gcloud storage rm -r gs://seqr-pipeline-runner-builds/prod/latest/ || echo 'No latest release'
gcloud storage cp loading_pipeline/bin/* gs://seqr-pipeline-runner-builds/prod/latest/bin/
gcloud storage cp loading_pipeline/dist/*.whl gs://seqr-pipeline-runner-builds/prod/latest/pyscripts.zip
gcloud storage cp loading_pipeline/bin/* gs://seqr-pipeline-runner-builds/prod/${{ github.event.workflow_run.head_sha }}/bin/
gcloud storage cp loading_pipeline/dist/*.whl gs://seqr-pipeline-runner-builds/prod/${{ github.event.workflow_run.head_sha }}/pyscripts.zip
gcloud storage cp -r loading_pipeline/var/vep/* gs://seqr-reference-data/vep/

docker:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.workflow_run.head_branch }}

- name: authenticate to google cloud
id: "auth"
uses: google-github-actions/auth@v3
with:
workload_identity_provider: "${{ secrets.WORKLOAD_IDENTITY_PROVIDER }}"
service_account: "${{ secrets.RUN_SA_EMAIL }}"

- name: "setup gcloud sdk"
uses: google-github-actions/setup-gcloud@v2

- name: Build and push images
run: |-
gcloud builds submit --quiet --substitutions="COMMIT_SHA=${{ github.event.workflow_run.head_sha }},_CUSTOM_BRANCH_TAG=latest" --config .cloudbuild/pipeline-docker.cloudbuild.yaml --gcs-log-dir=gs://seqr-github-actions-logs/logs .

helm_update:
runs-on: ubuntu-latest
needs: docker
steps:
- uses: actions/checkout@v3
with:
repository: broadinstitute/seqr-helm
ref: main
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo

- name: Get latest pipeline-runner version
uses: mikefarah/yq@v4.22.1
id: current
with:
cmd: >
yq -r '.version' charts/pipeline-runner/Chart.yaml

- name: Bump version
id: bump
uses: cbrgm/semver-bump-action@main
with:
current-version: ${{ steps.current.outputs.result }}
bump-level: minor

- name: Update appVersion and version in pipeline-runner Chart file
uses: mikefarah/yq@v4.22.1
with:
cmd: >
yq -i '
.appVersion = "${{ github.event.workflow_run.head_sha }}" |
.version = "${{ steps.bump.outputs.new_version }}"
' charts/pipeline-runner/Chart.yaml

- name: Commit and Push changes
uses: Andro999b/push@v1.3
with:
repository: broadinstitute/seqr-helm
branch: main
github_token: ${{ secrets.SEQR_VERSION_UPDATE_TOKEN }}
author_email: ${{ github.actor }}@users.noreply.github.com
author_name: tgg-automation
message: "Update pipeline-runner chart appVersion to ${{ github.event.workflow_run.head_sha }}"
91 changes: 91 additions & 0 deletions .github/workflows/pipeline-unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Pipeline Unit Tests

# 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
on:
push:
branches:
- dev
- master
paths:
- 'loading_pipeline/**'
- '.github/workflows/pipeline-*-release.yaml'
pull_request:
types: [opened, synchronize, reopened]
paths:
- 'loading_pipeline/**'
- '.github/workflows/*pipeline*.yaml'
- 'clickhouse_search/migrations/*.py'

permissions:
contents: read

jobs:
unit_tests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.11']

steps:
- uses: actions/checkout@v3
- name: Create ClickHouse Config
run: |
cat <<EOF > test_config.xml
<clickhouse>
<user_files_path>/tmp</user_files_path>
</clickhouse>
EOF
- name: Start ClickHouse with mounted config
run: |
docker run -d --name clickhouse \
-v ${{ github.workspace }}/test_config.xml:/etc/clickhouse-server/config.d/config.xml \
-v /tmp:/tmp \
-p 9000:9000 \
-e CLICKHOUSE_USER=default \
-e CLICKHOUSE_PASSWORD=default_password \
-e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 \
gcr.io/seqr-project/seqr-clickhouse:26.3.9
- name: Wait for ClickHouse
run: |
until docker exec clickhouse clickhouse-client --query "SELECT 1"; do
echo "Waiting for ClickHouse to start..."
sleep 2
done
- name: Set up ClickHouse Settings
run: |
docker exec clickhouse clickhouse-client --query "CREATE SETTINGS PROFILE clickhouse_settings SETTINGS flatten_nested=0, join_use_nulls=1, stop_refreshable_materialized_views_on_startup=1, allow_materialized_view_with_bad_select=1, enable_join_runtime_filters=0 TO default"
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
# Install uv
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: |
**/uv.lock
**/pyproject.toml
- name: Sync dependencies (prod + dataproc)
run: uv sync --locked --project loading_pipeline
- name: Check Ruff Format
run: |
cd loading_pipeline
uv run ruff format --check . --diff
- name: Check Ruff
run: |
cd loading_pipeline
uv run ruff check --output-format github
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@master
with:
severity: error
scandir: './loading_pipeline/bin'
- name: Unit Tests
run: |
export CLICKHOUSE_OPTIMIZE_TABLE_WAIT_S=1
export PYSPARK_SUBMIT_ARGS='--driver-memory 8G pyspark-shell'
export CLICKHOUSE_DATABASE=test
uv run --project loading_pipeline pytest --cov=loading_pipeline --cov-report=term-missing loading_pipeline
uv run --project loading_pipeline coverage report --omit '*test*' --fail-under=85
4 changes: 4 additions & 0 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,15 @@ on:
- master
- dev
paths-ignore:
- 'loading_pipeline/**'
- '.github/workflows/*pipeline*.yaml'
- 'vlm/**'
- '.github/workflows/*vlm*.yaml'
pull_request:
types: [opened, synchronize, reopened]
paths-ignore:
- 'loading_pipeline/**'
- '.github/workflows/*pipeline*.yaml'
- 'vlm/**'
- '.github/workflows/*vlm*.yaml'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/vlm-unit-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ jobs:
export CLICKHOUSE_WRITER_PASSWORD=clickhouse_test_password
export CLICKHOUSE_SERVICE_HOSTNAME=localhost
export POSTGRES_SERVICE_HOSTNAME=localhost
python3 -m pytest --setup-only --create-db --reuse-db --ds=settings
python3 -m pytest --setup-only --create-db --reuse-db --ds=settings vlm
- name: Set up Clickhouse test user
run: |
docker exec clickhouse clickhouse-client --query "GRANT SELECT ON test_seqr.\`GRCh37/SNV_INDEL/key_lookup\` TO vlm_test_user"
Expand Down
Loading
Loading