@@ -143,7 +143,8 @@ jobs:
143
143
source .venv/bin/activate
144
144
maturin develop --uv
145
145
pytest --ignore tests/integration --collect-only -qq # run this to ensure no weird imports that result in `Collector` errors
146
- pytest --cov=daft --ignore tests/integration --durations=50
146
+ pytest --cov=daft --ignore tests/integration --durations=0 | ./tools/capture-durations.sh "pytest_output.txt"
147
+ python tools/aggregate_test_durations.py pytest_output.txt
147
148
coverage combine -a --data-file='.coverage' || true
148
149
mkdir -p report-output
149
150
coverage xml -o ./report-output/coverage-${{ join(matrix.*, '-') }}.xml
@@ -160,7 +161,8 @@ jobs:
160
161
cargo llvm-cov clean --workspace
161
162
maturin develop --uv
162
163
pytest --ignore tests/integration --collect-only -qq # run this to ensure no weird imports that result in `Collector` errors
163
- pytest --cov=daft --ignore tests/integration --durations=50
164
+ pytest --cov=daft --ignore tests/integration --durations=0 | ./tools/capture-durations.sh "pytest_output.txt"
165
+ python tools/aggregate_test_durations.py pytest_output.txt
164
166
coverage combine -a --data-file='.coverage' || true
165
167
mkdir -p report-output
166
168
coverage xml -o ./report-output/coverage-${{ join(matrix.*, '-') }}.xml
@@ -318,20 +320,23 @@ jobs:
318
320
- name : Run TPCH integration tests (native)
319
321
run : |
320
322
source .venv/bin/activate
321
- pytest tests/integration/test_tpch.py --durations=50
323
+ pytest tests/integration/test_tpch.py --durations=0 | ./tools/capture-durations.sh "tpch_pytest_output.txt"
324
+ python tools/aggregate_test_durations.py tpch_pytest_output.txt
322
325
env :
323
326
DAFT_RUNNER : native
324
327
- name : Run TPCH integration tests (ray)
325
328
run : |
326
329
source .venv/bin/activate
327
- pytest tests/integration/test_tpch.py --durations=50
330
+ pytest tests/integration/test_tpch.py --durations=0 | ./tools/capture-durations.sh "tpch_pytest_output.txt"
331
+ python tools/aggregate_test_durations.py tpch_pytest_output.txt
328
332
env :
329
333
DAFT_RUNNER : ray
330
334
DAFT_FLOTILLA : 0
331
335
- name : Run TPCH integration tests (flotilla)
332
336
run : |
333
337
source .venv/bin/activate
334
- pytest tests/integration/test_tpch.py --durations=50
338
+ pytest tests/integration/test_tpch.py --durations=0 | ./tools/capture-durations.sh "tpch_pytest_output.txt"
339
+ python tools/aggregate_test_durations.py tpch_pytest_output.txt
335
340
env :
336
341
DAFT_RUNNER : ray
337
342
DAFT_FLOTILLA : 1
@@ -415,8 +420,9 @@ jobs:
415
420
- name : Run IO integration tests
416
421
run : |
417
422
source .venv/bin/activate
418
- pytest tests/integration/io -m 'integration and not benchmark' --durations=50
419
- pytest tests/io -m 'integration' --durations=50
423
+ pytest tests/integration/io -m 'integration and not benchmark' --durations=0 | ./tools/capture-durations.sh "io_integration_pytest_output.txt"
424
+ pytest tests/io -m 'integration' --durations=0 | ./tools/capture-durations.sh "io_integration_pytest_output_2.txt"
425
+ python tools/aggregate_test_durations.py io_integration_pytest_output.txt io_integration_pytest_output_2.txt
420
426
env :
421
427
DAFT_RUNNER : ${{ matrix.daft-runner }}
422
428
DAFT_FLOTILLA : ${{ matrix.flotilla }}
@@ -519,7 +525,8 @@ jobs:
519
525
- name : Run IO integration tests
520
526
run : |
521
527
source .venv/bin/activate
522
- pytest tests/integration/io -m 'integration and not benchmark' --credentials --durations=50
528
+ pytest tests/integration/io -m 'integration and not benchmark' --credentials --durations=0 | ./tools/capture-durations.sh "io_credentialed_pytest_output.txt"
529
+ python tools/aggregate_test_durations.py io_credentialed_pytest_output.txt
523
530
env :
524
531
DAFT_RUNNER : ${{ matrix.daft-runner }}
525
532
DAFT_FLOTILLA : ${{ matrix.flotilla }}
@@ -597,20 +604,23 @@ jobs:
597
604
- name : Run sql integration tests (native)
598
605
run : |
599
606
source .venv/bin/activate
600
- pytest tests/integration/sql -m 'integration or not integration' --durations=50
607
+ pytest tests/integration/sql -m 'integration or not integration' --durations=0 | ./tools/capture-durations.sh "sql_pytest_output.txt"
608
+ python tools/aggregate_test_durations.py sql_pytest_output.txt
601
609
env :
602
610
DAFT_RUNNER : native
603
611
- name : Run sql integration tests (ray)
604
612
run : |
605
613
source .venv/bin/activate
606
- pytest tests/integration/sql -m 'integration or not integration' --durations=50
614
+ pytest tests/integration/sql -m 'integration or not integration' --durations=0 | ./tools/capture-durations.sh "sql_pytest_output.txt"
615
+ python tools/aggregate_test_durations.py sql_pytest_output.txt
607
616
env :
608
617
DAFT_RUNNER : ray
609
618
DAFT_FLOTILLA : 0
610
619
- name : Run sql integration tests (flotilla)
611
620
run : |
612
621
source .venv/bin/activate
613
- pytest tests/integration/sql -m 'integration or not integration' --durations=50
622
+ pytest tests/integration/sql -m 'integration or not integration' --durations=0 | ./tools/capture-durations.sh "sql_pytest_output.txt"
623
+ python tools/aggregate_test_durations.py sql_pytest_output.txt
614
624
env :
615
625
DAFT_RUNNER : ray
616
626
DAFT_FLOTILLA : 1
@@ -705,15 +715,17 @@ jobs:
705
715
if : always()
706
716
run : |
707
717
source .venv/bin/activate
708
- pytest tests/integration/unity -m 'integration or not integration' --durations=50
718
+ pytest tests/integration/unity -m 'integration or not integration' --durations=0 | ./tools/capture-durations.sh "unity_pytest_output.txt"
719
+ python tools/aggregate_test_durations.py unity_pytest_output.txt
709
720
env :
710
721
DAFT_RUNNER : native
711
722
UNITY_CATALOG_PORT : 3000
712
723
- name : Run Unity integration tests (ray)
713
724
if : always()
714
725
run : |
715
726
source .venv/bin/activate
716
- pytest tests/integration/unity -m 'integration or not integration' --durations=50
727
+ pytest tests/integration/unity -m 'integration or not integration' --durations=0 | ./tools/capture-durations.sh "unity_pytest_output.txt"
728
+ python tools/aggregate_test_durations.py unity_pytest_output.txt
717
729
env :
718
730
DAFT_RUNNER : ray
719
731
DAFT_FLOTILLA : 0
@@ -722,7 +734,8 @@ jobs:
722
734
if : always()
723
735
run : |
724
736
source .venv/bin/activate
725
- pytest tests/integration/unity -m 'integration or not integration' --durations=50
737
+ pytest tests/integration/unity -m 'integration or not integration' --durations=0 | ./tools/capture-durations.sh "unity_pytest_output.txt"
738
+ python tools/aggregate_test_durations.py unity_pytest_output.txt
726
739
env :
727
740
DAFT_RUNNER : ray
728
741
DAFT_FLOTILLA : 1
@@ -732,22 +745,25 @@ jobs:
732
745
if : always()
733
746
run : |
734
747
source .venv/bin/activate
735
- pytest tests/integration/iceberg -m 'integration' --durations=50
748
+ pytest tests/integration/iceberg -m 'integration' --durations=0 | ./tools/capture-durations.sh "iceberg_pytest_output.txt"
749
+ python tools/aggregate_test_durations.py iceberg_pytest_output.txt
736
750
env :
737
751
DAFT_RUNNER : native
738
752
- name : Run Iceberg integration tests (ray)
739
753
if : always()
740
754
run : |
741
755
source .venv/bin/activate
742
- pytest tests/integration/iceberg -m 'integration' --durations=50
756
+ pytest tests/integration/iceberg -m 'integration' --durations=0 | ./tools/capture-durations.sh "iceberg_pytest_output.txt"
757
+ python tools/aggregate_test_durations.py iceberg_pytest_output.txt
743
758
env :
744
759
DAFT_RUNNER : ray
745
760
DAFT_FLOTILLA : 0
746
761
- name : Run Iceberg integration tests (flotilla)
747
762
if : always()
748
763
run : |
749
764
source .venv/bin/activate
750
- pytest tests/integration/iceberg -m 'integration' --durations=50
765
+ pytest tests/integration/iceberg -m 'integration' --durations=0 | ./tools/capture-durations.sh "iceberg_pytest_output.txt"
766
+ python tools/aggregate_test_durations.py iceberg_pytest_output.txt
751
767
env :
752
768
DAFT_RUNNER : ray
753
769
DAFT_FLOTILLA : 1
@@ -756,22 +772,25 @@ jobs:
756
772
if : always()
757
773
run : |
758
774
source .venv/bin/activate
759
- pytest tests/integration/delta_lake -m 'integration' --durations=50
775
+ pytest tests/integration/delta_lake -m 'integration' --durations=0 | ./tools/capture-durations.sh "delta_lake_pytest_output.txt"
776
+ python tools/aggregate_test_durations.py delta_lake_pytest_output.txt
760
777
env :
761
778
DAFT_RUNNER : native
762
779
- name : Run Delta Lake integration tests (ray)
763
780
if : always()
764
781
run : |
765
782
source .venv/bin/activate
766
- pytest tests/integration/delta_lake -m 'integration' --durations=50
783
+ pytest tests/integration/delta_lake -m 'integration' --durations=0 | ./tools/capture-durations.sh "delta_lake_pytest_output.txt"
784
+ python tools/aggregate_test_durations.py delta_lake_pytest_output.txt
767
785
env :
768
786
DAFT_RUNNER : ray
769
787
DAFT_FLOTILLA : 0
770
788
- name : Run Delta Lake integration tests (flotilla)
771
789
if : always()
772
790
run : |
773
791
source .venv/bin/activate
774
- pytest tests/integration/delta_lake -m 'integration' --durations=50
792
+ pytest tests/integration/delta_lake -m 'integration' --durations=0 | ./tools/capture-durations.sh "delta_lake_pytest_output.txt"
793
+ python tools/aggregate_test_durations.py delta_lake_pytest_output.txt
775
794
env :
776
795
DAFT_RUNNER : ray
777
796
DAFT_FLOTILLA : 1
@@ -846,7 +865,8 @@ jobs:
846
865
- name : Run AI provider integration tests
847
866
run : |
848
867
source .venv/bin/activate
849
- pytest -m integration tests/integration/ai --credentials --durations=50
868
+ pytest -m integration tests/integration/ai --credentials --durations=0 | ./tools/capture-durations.sh "ai_pytest_output.txt"
869
+ python tools/aggregate_test_durations.py ai_pytest_output.txt
850
870
env :
851
871
DAFT_RUNNER : ${{ matrix.daft-runner }}
852
872
DAFT_ENABLE_AQE : ${{ matrix.enable-aqe }}
0 commit comments