benchmark-event #744
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 "[email protected]" | |
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 |