Skip to content

CI: Use macOS 15 for executing benchmarks #29

CI: Use macOS 15 for executing benchmarks

CI: Use macOS 15 for executing benchmarks #29

Workflow file for this run

name: Run Benchmarks
on:
push:
branches:
- main
jobs:
build:
runs-on: macos-15
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Update Homebrew registry
run: brew update
- name: Set up Bun
uses: oven-sh/setup-bun@v2
- name: Set up D
run: brew install ldc dtools
- name: Set up Dart
run: |
brew tap dart-lang/dart
brew install dart
- name: Set up Dotnet
run: brew install --formula dotnet
- name: Set up Deno
run: brew install deno
- name: Set up Elixir
run: brew install elixir
- name: Set up Elvish
run: brew install elvish
- name: Set up Fish
run: brew install fish
- name: Set up Godot for GDScript
run: brew install godot
- name: Set up Guile
run: brew install guile
- name: Set up Janet
run: brew install janet
- name: Set up Java
run: brew install java
- name: Set up Julia
run: brew install --formula julia
- name: Set up Lua
run: brew install lua
- name: Set up Luajit
run: brew install luajit
- name: Set up Ngs
run: brew install ngs
- name: Set up Nickel
run: brew install nickel
- name: Set up Nix
uses: cachix/install-nix-action@v31
# - name: Set up Nim
# run: brew install nim
- name: Set up Nushell
run: brew install nushell
- name: Set up OCaml
run: brew install ocaml
- name: Set up Osh
run: brew install osh
- name: Set up Php
run: brew install php
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.13'
check-latest: true
- name: Set up R
run: brew install --formula r
- name: Set up Racket
run: brew install --cask racket
- name: Set up Rust-Script
run: cargo install rust-script
- name: Set up Roc
uses: hasnep/setup-roc@main
- name: Set up Scala
run: |
brew install scala
brew install Virtuslab/scala-cli/scala-cli
- name: Set up Haskell's Stack
uses: haskell-actions/setup@v2
with:
enable-stack: true
- name: Set up Typst
run: brew install typst
- name: Set up V
uses: vlang/[email protected]
- name: Install Hyperfine
run: brew install hyperfine
- name: Print versions
run: make print-versions
- name: Run bucket-calc benchmark
run: make run-bucket-calc
- name: Run shebang-scripts benchmark
run: make run-shebangs
- name: Generate chart
run: make -B shebang-scripts/today/chart.svg
- name: Commit and push updated chart
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add shebang-scripts/today/chart.svg
git commit -m "Update benchmark chart [skip ci]" || echo "No changes to commit"
git push