Skip to content

Differentiation Benchmarks #125

Differentiation Benchmarks

Differentiation Benchmarks #125

Workflow file for this run

name: Differentiation Benchmarks
on:
workflow_dispatch:
push:
branches:
- main
schedule:
- cron: '0 0 * * *'
permissions:
contents: write
deployments: write
jobs:
benchmark:
name: Run Differentiation benchmarks
runs-on:
group: Benchmark Runners
labels: [self-hosted, Linux, ARM64, benchmark-runner]
strategy:
matrix:
swift: ["6.0.3", "6.1.0", "nightly-main", "nightly-6.2-noble"]
fail-fast: false
container: ${{ contains(matrix.swift, 'nightly') && format('swiftlang/swift:{0}', matrix.swift) || format('swift:{0}', matrix.swift) }}
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Verify Python version
run: python --version
- name: Install dependencies
run: |
python -m pip install "pandas~=2.2" "influxdb_client~=1.48"
- name: Verify package installation
run: python -c "import pandas as pd; print(pd.__version__); import influxdb_client; print(influxdb_client.__version__)"
- run: apt-get -q update && apt-get install -y libjemalloc-dev
- name: Run benchmarks
run: swift package --allow-writing-to-package-directory benchmark --format influx --path benchmark-raw-output
- name: Upload to Influx
env:
INFLUX_BUCKET_NAME: ${{ secrets.InfluxBucketName }}
INFLUX_UPLOAD_TOKEN: ${{ secrets.InfluxUploadToken }}
INFLUX_ORG_NAME: ${{ secrets.InfluxOrgName }}
INFLUX_URL: ${{ secrets.InfluxURL }}
SWIFT_VERSION: ${{ matrix.swift }}
run: python benchmark-upload.py