From 746855e9b38333a67082a350c4c467d48fe8dd55 Mon Sep 17 00:00:00 2001 From: Connor Tsui Date: Wed, 18 Dec 2024 09:56:02 -0500 Subject: [PATCH] add tpch benchmark workflow --- .github/workflows/tpch.yaml | 82 +++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 .github/workflows/tpch.yaml diff --git a/.github/workflows/tpch.yaml b/.github/workflows/tpch.yaml new file mode 100644 index 00000000..46243fa5 --- /dev/null +++ b/.github/workflows/tpch.yaml @@ -0,0 +1,82 @@ +name: Rust TPC-H Benchmarks + +# Do not run this workflow on pull request since this workflow has permission to modify contents. +on: + push: + branches: + - master + # Hack for testing (REMOVE) + - continuous-bench-attempt + +permissions: + # deployments permission to deploy GitHub pages website + deployments: write + # contents permission to update benchmark contents in gh-pages branch + contents: write + +jobs: + benchmark: + + # Make sure an error doesn't mean we waste everything that has been compiled. + continue-on-error: true + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest] + + name: Run Rust benchmark example + runs-on: ${{ matrix.os }} + steps: + # Setup Rust. + - uses: actions/checkout@v4 + - run: rustup toolchain install stable --profile minimal --no-self-update + + # Make sure to use cached compilation objects if they exist. + - uses: Swatinem/rust-cache@v2 + + # Run the benchmark and store to `results/tpch.txt`. + - name: Run benchmark + # (REMOVE) run everything instead of just q3 + # run: cargo bench --bench planner_bench tpch/q3/ | tee results/tpch.txt + run: cargo bench --no-run + + # Download the previous benchmark result from the cache (if it exists). + # - name: Download previous benchmark data + # uses: actions/cache@v4 + # with: + # path: ./cache + # key: ${{ runner.os }}-benchmark + + # Run the `github-action-benchmark` action. + # - name: Store benchmark result + # uses: benchmark-action/github-action-benchmark@v1 + # with: + # name: Rust Benchmark + # tool: 'cargo' + # output-file-path: results/tpch.txt + # gh-pages-branch: gh-pages + # external-data-json-path: cache/benchmark-data.json + # github-token: ${{ secrets.GITHUB_TOKEN }} + # auto-push: true + # # Show alert with commit comment on detecting possible performance regression + # alert-threshold: '125%' + # summary-always: true + # comment-on-alert: true + # fail-on-alert: true + # alert-comment-cc-users: '@connortsui20' + + # - name: Store benchmark result - separate results repo + # uses: benchmark-action/github-action-benchmark@v1 + # with: + # name: Rust Benchmark + # tool: 'cargo' + # output-file-path: results/tpch.txt + # github-token: ${{ secrets.BENCHMARK_ACTION_BOT_TOKEN }} + # auto-push: true + # # Show alert with commit comment on detecting possible performance regression + # alert-threshold: '200%' + # summary-always: true + # comment-on-alert: true + # fail-on-alert: true + # alert-comment-cc-users: '@connortsui20' + # gh-repository: 'github.com/???'