Skip to content

benchmark-event

benchmark-event #739

Workflow file for this run

name: CI
on:
workflow_dispatch:
repository_dispatch:
types: [benchmark-event]
jobs:
build:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip ci]')"
steps:
- uses: actions/checkout@v2
name: Checkout
with:
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
- uses: actions/setup-python@v1
name: Setup Python
- uses: actions/setup-ruby@v1
name: Setup Ruby
- name: Gwion
run: bash update.sh
- name: Horse64
run: |
git clone https://github.com/horse64/old-core.horse64.org
cd old-core.horse64.org
git submodule update --init
make release
echo './old-core.horse64.org/horsec run $1' > ../horse64
chmod +x ../horse64
- name: Dictu
run: |
git clone https://github.com/dictu-lang/Dictu.git
cd Dictu
cmake -DCMAKE_BUILD_TYPE=Release -DDISABLE_HTTP=1 -B ./build
cmake --build ./build
chmod +x ./dictu
- uses: actions/cache@v1
name: Wren [ cache ]
id: wren
with:
path: wren
key: ${{ runner.os }}-wren
- name: wren [ init ]
if: "steps.wren.outputs.cache-hit != 'true'"
run: |
git clone https://github.com/wren-lang/wren
cd wren/projects/make
make
- name: wren [ update ]
if: "steps.wren.outputs.cache-hit == 'true'"
run: |
cd wren
if [ $(git rev-parse HEAD) != $(git ls-remote https://github.com/wren-lang/wren.git HEAD | cut -f1) ]
then
git pull
cd projects/make
make
fi
- name: wren [ install ]
run: cp wren/bin/wren_test wren/bin/wren
- uses: actions/cache@v1
name: Lua [ cache ]
id: lua
with:
path: lua
key: ${{ runner.os }}-lua
- name: Lua [ init ]
if: "steps.lua.outputs.cache-hit != 'true'"
run: |
git clone https://github.com/lua/lua
cd lua
sudo apt-get install libreadline-dev
make
- name: Lua [ update ]
if: "steps.lua.outputs.cache-hit == 'true'"
run: |
cd lua
if [ $(git rev-parse HEAD) != $(git ls-remote https://github.com/lua/lua.git HEAD | cut -f1) ]
then
git pull
sudo apt-get install libreadline-dev
make
fi
- name: Vyse
run: |
git clone https://github.com/srijan-paul/snap
cd snap
git submodule update --init
mkdir bin
cd bin
cmake .. -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=Release
make
cp vy vyse
- name: Pa
run: |
url=https://github.com/valkarias/PBuild/releases/download/latest/
file=ubuntu-latest-a.zip
wget "$url/$file"
unzip $file
rm $file
chmod +x pbuild
./pbuild download
./pbuild build --cc-type=gcc
mv ~/Pa/Pa-master/bin/Pa .
- name: Kuroko
run: |
git clone https://github.com/kuroko-lang/kuroko
cd kuroko
make
- name: Benchmark
run: |
echo 1 | sudo tee /proc/sys/kernel/perf_event_paranoid
sudo apt-get update
sudo apt-get install gnuplot chuck
echo 'chuck --silent $@' > ./chuck
chmod +x ./chuck
export PATH=./wren/bin:$PATH
export PATH=./lua:$PATH
export PATH=./mdr:$PATH
export PATH=./Gwion:$PATH
export PATH=./Dictu:$PATH
export PATH=./snap/bin:$PATH
export PATH=./kuroko:$PATH
export PATH=.:$PATH
git checkout results
git pull origin
echo "info ${{ github.event.client_payload.commit_info }}"
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git checkout ${GITHUB_REF} benchmark.sh version.sh bench.plot src
bash benchmark.sh
git rm -rf benchmark.sh version.sh bench.plot src
echo "${{ github.event.client_payload.commit_info }}" > commit_info
git add results png commit_info
git commit -m "Add changes"
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: results
- name: Chuck Fib Debug
run: |
git checkout master src
perf stat chuck -s src/fib-recurs.ck