Add interpreter that uses the Truffle Bytecode DSL #601
Workflow file for this run
This file contains hidden or 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: | |
| style: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: Setup MX | |
| run: | | |
| ./som --setup mx | |
| echo "PATH=$PATH:`pwd`/../mx" >> "$GITHUB_ENV" | |
| - name: Get LabsJDK | |
| run: | | |
| ./som --setup labsjdk | |
| - name: Download Eclipse | |
| run: | | |
| export ECLIPSE_TAR=eclipse.tar.gz | |
| export ECLIPSE_URL=https://archive.eclipse.org/eclipse/downloads/drops4/R-4.30-202312010110/eclipse-SDK-4.30-linux-gtk-x86_64.tar.gz | |
| curl -L ${ECLIPSE_URL} -o ${ECLIPSE_TAR} | |
| tar --warning=no-unknown-keyword -C ${GITHUB_WORKSPACE}/.. -xzf ${ECLIPSE_TAR} | |
| - name: Install Black and PyLint | |
| run: | | |
| pip install black pylint==2.17.7 | |
| pylint --version | |
| echo $? | |
| - name: Run Style Gate | |
| run: | | |
| export ECLIPSE_EXE=${GITHUB_WORKSPACE}/../eclipse/eclipse | |
| export JAVA_HOME=$JAVA_HOME_21_X64 | |
| mx --java-home=${JAVA_HOME} gate --tags style | |
| test_som: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: Setup MX | |
| run: | | |
| ./som --setup mx | |
| echo "PATH=$PATH:`pwd`/../mx" >> "$GITHUB_ENV" | |
| - name: Get LabsJDK and Get Graal | |
| run: | | |
| ./som --setup labsjdk | |
| mx sforceimport | |
| rm libs/jvmci || true | |
| ./som --setup labsjdk | |
| - name: Compile TruffleSOM | |
| run: | | |
| mx build | |
| - name: Tests | |
| run: | | |
| mx tests-junit | |
| mx tests-som | |
| - name: Build native-image tool | |
| run: | | |
| mx build-native-image-tool | |
| - name: Test Object Storage System | |
| run: | | |
| mx build-native-obj-test | |
| ./som-obj-storage-tester | |
| - name: Tool Tests | |
| continue-on-error: true | |
| run: | | |
| mx tests-nodestats | |
| mx tests-coverage | |
| - name: SomSom Tests | |
| run: | | |
| export JAVA_HOME=$JAVA_HOME_17_X64 | |
| ./som -G -cp core-lib/Smalltalk:core-lib/TestSuite:core-lib/SomSom/src/compiler:core-lib/SomSom/src/vm:core-lib/SomSom/src/vmobjects:core-lib/SomSom/src/interpreter:core-lib/SomSom/src/primitives \ | |
| core-lib/SomSom/tests/SomSomTests.som | |
| - name: Integration Tests | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install pytest | |
| export CLASSPATH=Smalltalk | |
| export AWFY=core-lib/Examples/AreWeFastYet/Core | |
| export TEST_EXPECTATIONS=./integration-tests-ast.yml | |
| export VM="./som -G -Dsom.interp=AST" | |
| pytest --tb=short core-lib/IntegrationTests | |
| export TEST_EXPECTATIONS=./integration-tests-bc.yml | |
| export VM="./som -G -Dsom.interp=BC" | |
| pytest --tb=short core-lib/IntegrationTests | |
| - name: Checkout AWFY | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: smarr/are-we-fast-yet | |
| path: are-we-fast-yet | |
| - name: AWFY Test Run | |
| run: | | |
| pwd | |
| export JAVA_HOME=$JAVA_HOME_17_X64 | |
| pip install ReBench | |
| rebench awfy-test.conf |