Skip to content

Process ASV Results #530

Process ASV Results

Process ASV Results #530

name: Process ASV Results
on:
# pull_request:
# branches:
# - main
schedule:
- cron: "20 3 * * *"
workflow_dispatch:
env:
# Results and other data are stored away from the main branch.
# This keeps the main branch clean and allows us to clear out
# objects / history after being built up for long periods of time.
BRANCH_NAME: pandas_2026_01_04
PYTHON_VERSION: 3.12
# Workspace root contains the pandas source checkout at ./pandas/. Without
# this, `python -m asv_runner` would prepend cwd to sys.path and `import
# pandas` would resolve to the uncompiled source tree instead of the wheel.
PYTHONSAFEPATH: "1"
permissions:
contents: read
jobs:
process-results:
name: Process ASV Results
runs-on: ubuntu-24.04
defaults:
run:
shell: bash -e {0}
permissions:
contents: write
issues: write
steps:
- name: Checkout pandas
uses: actions/checkout@v6
with:
repository: pandas-dev/pandas
fetch-depth: 0
- name: Checkout asv-runner results branch
uses: actions/checkout@v6
with:
ref: "${{ env.BRANCH_NAME }}"
path: asv-runner/
# asv_runner scripts are run from the workflow's own ref (main on schedule,
# whatever branch you choose on workflow_dispatch), not from whatever
# stale copy lives on the storage branch.
- name: Checkout asv-runner code
uses: actions/checkout@v6
with:
path: asv-runner-code/
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "${{ env.PYTHON_VERSION }}"
- name: Install dependencies
run: |
pip install -U pip uv
uv pip install --system asv pandas pyarrow
- name: Show environment packages
run: uv pip freeze
- name: Process and push
run: |
PYTHONPATH=asv-runner-code python -m asv_runner process \
--storage-dir=asv-runner \
--asv-dir=asv_bench \
--branch=$BRANCH_NAME
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}