enso/.github/workflows/bench-upload.yml
Pavel Marek 3a3bef0b46
Move benchmark download tool and visualization to the CI (#9075)
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.
2024-02-28 17:54:12 +00:00

47 lines
1.5 KiB
YAML

# 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 "ci@enso.org"
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 }}