Skip to content

Commit

Permalink
Add nightly exchange fuzzer.
Browse files Browse the repository at this point in the history
  • Loading branch information
kgpai committed Feb 27, 2024
1 parent 87a0519 commit 2cfe5cc
Showing 1 changed file with 66 additions and 17 deletions.
83 changes: 66 additions & 17 deletions .github/workflows/scheduled.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
LINUX_DISTRO: "ubuntu"
steps:

- name: "Restore ccache"
- name: Restore ccache
uses: actions/cache@v3
with:
path: "${{ env.CCACHE_DIR }}"
Expand All @@ -67,17 +67,17 @@ jobs:
restore-keys: |
ccache-benchmark-
- name: "Checkout Repo"
- name: Checkout Repo
uses: actions/checkout@v3
with:
path: velox
submodules: 'recursive'
ref: "${{ inputs.ref || 'main' }}"

- name: "Install dependencies"
- name: Install dependencies
run: cd velox && source ./scripts/setup-ubuntu.sh

- name: "Build"
- name: Build
run: |
cd velox
make debug NUM_THREADS="${{ inputs.numThreads || 8 }}" MAX_HIGH_MEM_JOBS="${{ inputs.maxHighMemJobs || 8 }}" MAX_LINK_JOBS="${{ inputs.maxLinkJobs || 4 }}" EXTRA_CMAKE_FLAGS="-DVELOX_ENABLE_ARROW=ON ${{ inputs.extraCMakeFlags }}"
Expand Down Expand Up @@ -113,26 +113,34 @@ jobs:
name: join
path: velox/_build/debug/velox/exec/tests/velox_join_fuzzer_test

- name: Upload Exchange fuzzer
uses: actions/upload-artifact@v3
with:
name: exchange
path: velox/_build/debug//velox/exec/tests/velox_exchange_fuzzer_test



linux-presto-fuzzer-run:
runs-on: ubuntu-latest
needs: compile
timeout-minutes: 120
steps:

- name: "Checkout Repo"
- name: Checkout Repo
uses: actions/checkout@v3
with:
ref: "${{ inputs.ref || 'main' }}"

- name: "Install dependencies"
- name: Install dependencies
run: source ./scripts/setup-ubuntu.sh

- name: Download presto fuzzer
uses: actions/download-artifact@v3
with:
name: presto

- name: "Run Presto Fuzzer"
- name: Run Presto Fuzzer
run: |
mkdir -p /tmp/fuzzer_repro/
chmod -R 777 /tmp/fuzzer_repro
Expand Down Expand Up @@ -167,20 +175,20 @@ jobs:
timeout-minutes: 120
steps:

- name: "Checkout Repo"
- name: Checkout Repo
uses: actions/checkout@v3
with:
ref: "${{ inputs.ref || 'main' }}"

- name: "Install dependencies"
- name: Install dependencies
run: source ./scripts/setup-ubuntu.sh

- name: Download spark expression fuzzer
uses: actions/download-artifact@v3
with:
name: spark_expression_fuzzer

- name: "Run Spark Expression Fuzzer"
- name: Run Spark Expression Fuzzer
run: |
mkdir -p /tmp/spark_fuzzer_repro/
chmod -R 777 /tmp/spark_fuzzer_repro
Expand Down Expand Up @@ -213,7 +221,7 @@ jobs:
with:
name: spark_aggregation_fuzzer

- name: "Run Spark Aggregate Fuzzer"
- name: Run Spark Aggregate Fuzzer
run: |
mkdir -p /tmp/spark_aggregate_fuzzer_repro/
chmod -R 777 /tmp/spark_aggregate_fuzzer_repro
Expand Down Expand Up @@ -241,20 +249,20 @@ jobs:
timeout-minutes: 120
steps:

- name: "Checkout Repo"
- name: Checkout Repo
uses: actions/checkout@v3
with:
ref: "${{ inputs.ref || 'main' }}"

- name: "Install dependencies"
- name: Install dependencies
run: source ./scripts/setup-ubuntu.sh

- name: Download aggregation fuzzer
uses: actions/download-artifact@v3
with:
name: aggregation

- name: "Run Aggregate Fuzzer"
- name: Run Aggregate Fuzzer
run: |
mkdir -p /tmp/aggregate_fuzzer_repro/
rm -rfv /tmp/aggregate_fuzzer_repro/*
Expand Down Expand Up @@ -282,20 +290,20 @@ jobs:
timeout-minutes: 120
steps:

- name: "Checkout Repo"
- name: Checkout Repo
uses: actions/checkout@v3
with:
ref: "${{ inputs.ref || 'main' }}"

- name: "Install dependencies"
- name: Install dependencies
run: source ./scripts/setup-ubuntu.sh

- name: Download join fuzzer
uses: actions/download-artifact@v3
with:
name: join

- name: "Run Join Fuzzer"
- name: Run Join Fuzzer
run: |
mkdir -p /tmp/join_fuzzer_repro/
rm -rfv /tmp/join_fuzzer_repro/*
Expand All @@ -315,3 +323,44 @@ jobs:
name: join-fuzzer-failure-artifacts
path: |
/tmp/join_fuzzer_repro
linux-exchange-fuzzer-run:
runs-on: ubuntu-latest
needs: compile
timeout-minutes: 120
steps:

- name: Checkout Repo
uses: actions/checkout@v3
with:
ref: "${{ inputs.ref || 'main' }}"

- name: Install dependencies
run: source ./scripts/setup-ubuntu.sh

- name: Download exchange fuzzer
uses: actions/download-artifact@v3
with:
name: exchange

- name: Run exchange Fuzzer
run: |
mkdir -p /tmp/exchange_fuzzer_repro/
rm -rfv /tmp/exchange_fuzzer_repro/*
chmod -R 777 /tmp/exchange_fuzzer_repro
chmod +x velox_exchange_fuzzer_test
./velox_exchange_fuzzer_test \
--seed ${RANDOM} \
--duration_sec 1800 \
--logtostderr=1 \
--minloglevel=0 \
--repro_path=/tmp/exchange_fuzzer_repro
&& echo -e "\n\Exchange fuzzer run finished successfully."
- name: Archive Exchange production artifacts
if: always()
uses: actions/upload-artifact@v3
with:
name: exchange-fuzzer-failure-artifacts
path: |
/tmp/exchange_fuzzer_repro

0 comments on commit 2cfe5cc

Please sign in to comment.