Skip to content

Commit

Permalink
Move benchmark download tool and visualization to the CI (#9075)
Browse files Browse the repository at this point in the history
Creates a new [Benchmarks upload](https://github.com/enso-org/enso/pull/9075/files#diff-8859b4f24c2f25d300fe800ee431d7f9f7e68de459395a7e9b22abf79440c862) GitHub action that fetches all the latest benchmark results, and uploads them on the website hosted on https://github.com/enso-org/engine-benchmark-results repo. The results are stored in that repo in a bunch of JSON files.

# Important Notes
The new *Benchmarks upload* action is scheduled to run after either "Engine benchmarks" or "Standard library benchmarks" jobs are complete.
  • Loading branch information
Akirathan authored Feb 28, 2024
1 parent fecdd53 commit 3a3bef0
Show file tree
Hide file tree
Showing 19 changed files with 1,541 additions and 641 deletions.
46 changes: 46 additions & 0 deletions .github/workflows/bench-upload.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# This file is manually managed. It is used to upload benchmarks to to the
# https://github.com/enso-org/engine-benchmark-results repository.

name: Benchmarks upload
on:
workflow_run:
workflows: ["Benchmark Engine", "Benchmark Standard Libraries"]
types:
- completed
jobs:
upload-benchmarks:
name: Upload benchmarks
runs-on: ubuntu-latest
steps:
- name: Checkout enso repository
uses: actions/checkout@v4
with:
repository: enso-org/enso
path: enso
- name: Checkout engine-benchmark-results repository
uses: actions/checkout@v4
with:
repository: enso-org/engine-benchmark-results
path: engine-benchmark-results
token: ${{ secrets.ENSO_BENCHMARK_RESULTS_TOKEN }}
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
python3 \
python3-jinja2 \
python3-numpy \
python3-pandas
sudo apt-get install -y gh
- name: Set up git
run: |
git config --global user.email "[email protected]"
git config --global user.name "Enso CI Bot"
- name: Upload benchmarks
run: |
cd enso/tools/performance/engine-benchmarks
python3 website_regen.py \
-v \
--local-repo ${{ github.workspace }}/engine-benchmark-results
env:
GITHUB_TOKEN: ${{ secrets.ENSO_BENCHMARK_RESULTS_TOKEN }}
6 changes: 6 additions & 0 deletions tools/performance/engine-benchmarks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ This directory contains a python script `bench_download.py` for downloading
Engine and stdlib benchmark results from GitHub, and `Engine_Benchs` Enso
project for analysing the downloaded data.

Note that for convenience, there is `bench_tool` directory that is a Python
package. The `bench_download.py` script uses this package.

To run all the Python tests for that package, run `python -m unittest` in this
directory.

Dependencies for `bench_download.py`:

- python >= 3.7
Expand Down
Loading

0 comments on commit 3a3bef0

Please sign in to comment.