Skip to content

Fix som

Fix som #352

Workflow file for this run

name: Tests
on: [push, pull_request]
jobs:
test_awfy:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
- { name: Java, id: java, folder: Java }
- { name: SOM, id: som, folder: SOM }
- { name: Crystal, id: crystal, folder: Crystal }
- { name: JavaScript, id: js, folder: JavaScript }
- { name: SOMns, id: somns, folder: SOMns }
#- { name: Pharo, id: pharo, folder: Smalltalk }
- { name: Squeak 64-bit, id: squeak64, folder: Smalltalk }
- { name: Ruby, id: ruby, folder: Ruby }
- { name: Lua, id: lua, folder: Lua }
- { name: Python, id: python, folder: Python }
name: ${{ matrix.name }}
steps:
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Checkout AWFY Repository
uses: actions/checkout@v4
- name: Install ReBench
run: |
python -m pip install ReBench
- name: Install asdf and asdf-awfy
run: |
git clone --depth 1 https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0
asdf plugin add awfy https://github.com/smarr/asdf-awfy.git
if: matrix.id == 'squeak64'
- name: Install Crystal
if: matrix.id == 'crystal'
uses: oprypin/install-crystal@v1
- name: Install JS
if: matrix.id == 'js'
run: |
(cd benchmarks/JavaScript; npm install .)
- name: Install Pharo
if: matrix.id == 'pharo'
uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: Pharo64-stable
- name: Install Squeak64
if: matrix.id == 'squeak64'
run: |
~/.asdf/bin/asdf install awfy squeak-6.0-22148
- name: Install Squeak32
if: matrix.id == 'squeak32'
uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: Squeak32-5.2
- name: Install Ruby
if: matrix.id == 'ruby'
run: |
sudo gem install rubocop
- name: Install Lua
uses: leafo/gh-actions-lua@v10
with:
luaVersion: 5.2
if: matrix.id == 'lua'
- name: Install LuaRocks
uses: leafo/gh-actions-luarocks@v4
if: matrix.id == 'lua'
- name: Install LuaCheck and lua5.2 symlink
run: |
luarocks install luacheck
(cd .lua/bin && ln -s lua lua5.2)
if: matrix.id == 'lua'
- name: Install Python
run: |
python -m pip install pylint
if: matrix.id == 'python'
- name: Install SOM
run: |
source benchmarks/script.inc
load_git_repo https://github.com/SOM-st/som-java.git SOM
pushd SOM
git submodule update --recursive --init
ant
popd
source benchmarks/script.inc
load_git_repo https://github.com/SOM-st/TruffleSOM.git TruffleSOM
pushd TruffleSOM
git submodule update --recursive --init
./som --setup mx
./som --setup labsjdk
../mx/mx build
if: matrix.id == 'som'
- name: Python Black Style Check
uses: psf/black@stable
with:
options: "--check --diff ."
src: "./benchmarks/Python"
if: matrix.id == 'python'
- name: Build
run: |
benchmarks/${{ matrix.folder }}/build.sh
- name: ReBench Test Run
run: |
rebench test.conf test-${{ matrix.id }}
- name: Style Check
run: |
benchmarks/${{ matrix.folder }}/build.sh style skip-black-for-python