Skip to content

Commit

Permalink
ci: Run remote benchmarks on dedicated machine. (#18723)
Browse files Browse the repository at this point in the history
  • Loading branch information
ritchie46 authored Sep 13, 2024
1 parent a8e18e6 commit f7698d9
Showing 1 changed file with 62 additions and 0 deletions.
62 changes: 62 additions & 0 deletions .github/workflows/benchmark-remote.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Remote Benchmark

on:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
SCALE_FACTOR: '10.0'

jobs:
main:
runs-on: self-hosted
steps:
- uses: actions/checkout@v4

- name: Clone Polars-benchmark
run: |
git clone --depth=1 https://github.com/pola-rs/polars-benchmark.git
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'

- name: Create virtual environment
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
echo "$GITHUB_WORKSPACE/.venv/bin" >> $GITHUB_PATH
echo "VIRTUAL_ENV=$GITHUB_WORKSPACE/.venv" >> $GITHUB_ENV
- name: Install Python dependencies
working-directory: py-polars
run: |
# Install typing-extensions separately whilst the `--extra-index-url` in `requirements-ci.txt`
# doesn't have an up-to-date typing-extensions, see
# https://github.com/astral-sh/uv/issues/6028#issuecomment-2287232150
uv pip install -U typing-extensions
uv pip install --compile-bytecode -r requirements-dev.txt -r requirements-ci.txt --verbose
- name: Install Polars-Benchmark dependencies
working-directory: polars-benchmark
run: |
uv pip install --compile-bytecode -r requirements-polars-only.txt
- name: Set up Rust
run: rustup show

- name: Install Polars release build
env:
RUSTFLAGS: -C embed-bitcode -D warnings
working-directory: py-polars
run: |
maturin develop --release -- -C codegen-units=8 -C lto=thin -C target-cpu=native
- name: Run benchmark
working-directory: polars-benchmark
run: |
make run-polars-no-env

0 comments on commit f7698d9

Please sign in to comment.