Skip to content

Benchmarking automatically #1

Benchmarking automatically

Benchmarking automatically #1

Workflow file for this run

name: snmalloc Benchmarking CI
# The following should ensure that the workflow only runs a single set of actions
# for each PR. But it will not apply this to pushes to the main branch.
concurrency:
group: ${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ main ]
pull_request:
branches: [ main ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
benchmark:
runs-on: ubuntu-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout
uses: actions/checkout@v3
# Builds the Docker image and runs the benchmarks
- name: Run Benchmarks
run: |
docker build -t snmalloc-bench -f benchmark/Dockerfile . --build-arg benchs=allt
# Extracts the benchmark results from the Docker container
- name: Extract Benchmark Results
run: |
docker cp `docker run -d snmalloc-bench`:/mimalloc-bench/out/bench/benchres.csv benchres.csv
# Uploads the benchmark results as an artifact
- name: Upload Benchmark Results
uses: actions/upload-artifact@v3
with:
name: benchmark-results
path: benchres.csv