Squeak #357
Workflow file for this run
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: 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, id: squeak, 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/bin/asdf plugin add awfy https://github.com/smarr/asdf-awfy.git | |
if: matrix.id == 'squeak' | |
- 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 Squeak | |
if: matrix.id == 'squeak' | |
run: | | |
~/.asdf/bin/asdf install awfy squeak-6.0-22148 | |
cp ~/.asdf/installs/awfy/squeak-6.0-22148/shared/SqueakV60.sources benchmarks/Smalltalk/ | |
cp ~/.asdf/installs/awfy/squeak-6.0-22148/shared/Squeak*.image benchmarks/Smalltalk/Squeak.image | |
cp ~/.asdf/installs/awfy/squeak-6.0-22148/shared/Squeak*.changes benchmarks/Smalltalk/Squeak.changes | |
- 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 | |
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: Install SOMns | |
run: | | |
source benchmarks/script.inc | |
load_git_repo https://github.com/smarr/SOMns.git SOMns | |
pushd SOMns | |
git submodule update --recursive --init | |
ant compile | |
if: matrix.id == 'somns' | |
- 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 ${{ matrix.id }} | |
- 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 |