[GitLab CI] Take scripts from TruffleSOM for building #176
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 | |
| - 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.4.4 | |
| - 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 | |
| - name: Lint Kompos | |
| run: | | |
| cd tools/kompos | |
| npm install | |
| npm run verify | |
| test_som: | |
| strategy: | |
| fail-fast: false # we want all jobs to run, because they may fail independently | |
| matrix: | |
| include: | |
| - os: macos-latest | |
| job: test-osx | |
| - os: ubuntu-24.04 | |
| job: test-1 | |
| - os: ubuntu-24.04 | |
| job: test-2 | |
| runs-on: ubuntu-24.04 # ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - 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 SOMns | |
| run: | | |
| mx build | |
| - name: Tests | |
| if: matrix.job == 'test-1' | |
| run: | | |
| mx tests-junit | |
| mx tests-som | |
| - name: SOMns Test Suite | |
| run: | | |
| export JAVA_HOME=$JAVA_HOME_17_X64 | |
| ./som -G core-lib/TestSuite/TestRunner.ns | |
| - name: Build Native Image | |
| if: matrix.job == 'test-1' | |
| run: | | |
| export JAVA_HOME=$JAVA_HOME_17_X64 | |
| ant -e native-tests | |
| - name: Kompos Tests | |
| if: matrix.job == 'test-2' | |
| run: | | |
| export JAVA_HOME=$JAVA_HOME_17_X64 | |
| ant -e kompos | |
| cd tools/kompos | |
| npm test | |
| - name: Dynamic Metrics Tests | |
| if: matrix.job == 'test-osx' | |
| run: | | |
| export JAVA_HOME=$JAVA_HOME_17_X64 | |
| ant -e dynamic-metrics-tests | |
| - name: Super Instructions Tests | |
| if: matrix.job == 'test-2' | |
| run: | | |
| export JAVA_HOME=$JAVA_HOME_17_X64 | |
| ant -e superinstructions-tests | |
| - name: Replay Tests 1 | |
| if: matrix.job == 'test-1' | |
| run: | | |
| export JAVA_HOME=$JAVA_HOME_17_X64 | |
| ./tests/replay/test.sh 1 | |
| - name: Replay Tests 2 | |
| if: matrix.job == 'test-2' | |
| run: | | |
| export JAVA_HOME=$JAVA_HOME_17_X64 | |
| ./tests/replay/test.sh 2 | |
| # Disabled due to breaking changes in the tracing infrastructure. Not fixed to make merge of Snapshotting PR(#293) easier. | |
| #- name: Snapshot Tests | |
| # script: | |
| # - run ./tests/snapshot/test.sh | |
| # - $ANT serialization-tests |