@@ -302,6 +302,13 @@ jobs:
302
302
path : velox/_build/debug//velox/exec/tests/velox_exchange_fuzzer_test
303
303
retention-days : " ${{ env.RETENTION }}"
304
304
305
+ - name : Upload window fuzzer
306
+ uses : actions/upload-artifact@v4
307
+ with :
308
+ name : window
309
+ path : velox/_build/debug/velox/functions/prestosql/fuzzer/velox_window_fuzzer_test
310
+ retention-days : " ${{ env.RETENTION }}"
311
+
305
312
presto-fuzzer-run :
306
313
name : Presto Fuzzer
307
314
if : ${{ needs.compile.outputs.presto_bias != 'true' }}
@@ -711,7 +718,7 @@ jobs:
711
718
path : |
712
719
/tmp/aggregate_fuzzer_repro
713
720
/tmp/server.log
714
-
721
+
715
722
716
723
presto-bias-java-aggregation-fuzzer-run :
717
724
name : Biased Aggregation Fuzzer with Presto as source of truth
@@ -810,3 +817,66 @@ jobs:
810
817
run : |
811
818
cat /tmp/signatures/presto_aggregate_errors
812
819
exit 1
820
+
821
+ presto-java-window-fuzzer-run :
822
+ name : Window Fuzzer with Presto as source of truth
823
+ needs : compile
824
+ runs-on : ubuntu-latest
825
+ container : ghcr.io/facebookincubator/velox-dev:presto-java
826
+ timeout-minutes : 120
827
+ if : ${{ github.event_name != 'pull_request' }}
828
+ env :
829
+ CCACHE_DIR : " ${{ github.workspace }}/.ccache/"
830
+ LINUX_DISTRO : " centos"
831
+ steps :
832
+
833
+ - name : Download window fuzzer
834
+ uses : actions/download-artifact@v4
835
+ with :
836
+ name : window
837
+
838
+ - name : " Checkout Repo"
839
+ uses : actions/checkout@v4
840
+ with :
841
+ path : velox
842
+ submodules : ' recursive'
843
+ ref : " ${{ inputs.ref }}"
844
+
845
+ - name : Fix git permissions
846
+ # Usually actions/checkout does this but as we run in a container
847
+ # it doesn't work
848
+ run : git config --global --add safe.directory /__w/velox/velox/velox
849
+
850
+
851
+ - name : " Run Window Fuzzer"
852
+ run : |
853
+ cd velox
854
+ cp ./scripts/etc/hive.properties $PRESTO_HOME/etc/catalog
855
+ ls -lR $PRESTO_HOME/etc
856
+ $PRESTO_HOME/bin/launcher run -v > /tmp/server.log 2>&1 &
857
+ # Sleep for 60 seconds to allow Presto server to start.
858
+ sleep 60
859
+ /opt/presto-cli --server 127.0.0.1:8080 --execute 'CREATE SCHEMA hive.tpch;'
860
+ cd -
861
+ mkdir -p /tmp/window_fuzzer_repro/
862
+ rm -rfv /tmp/window_fuzzer_repro/*
863
+ chmod -R 777 /tmp/window_fuzzer_repro
864
+ chmod +x velox_window_fuzzer_test
865
+ ./velox_window_fuzzer_test \
866
+ --seed ${RANDOM} \
867
+ --duration_sec $DURATION \
868
+ --logtostderr=1 \
869
+ --minloglevel=0 \
870
+ --repro_persist_path=/tmp/window_fuzzer_repro \
871
+ --enable_window_reference_verification \
872
+ --presto_url=http://127.0.0.1:8080 \
873
+ && echo -e "\n\nWindow fuzzer run finished successfully."
874
+
875
+ - name : Archive window production artifacts
876
+ if : ${{ !cancelled() }}
877
+ uses : actions/upload-artifact@v4
878
+ with :
879
+ name : presto-sot-window-fuzzer-failure-artifacts
880
+ path : |
881
+ /tmp/window_fuzzer_repro
882
+ /tmp/server.log
0 commit comments