Merge pull request #754 from orionpapadakis/feat/q8-as-bytearray #74
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: Build on [push] | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| branches: [develop] | |
| types: [opened, synchronize, reopened] | |
| workflow_dispatch: | |
| jobs: | |
| code-quality: | |
| runs-on: [self-hosted, Linux, x64] | |
| env: | |
| JAVA_HOME: /opt/jenkins/jdks/graal-23.1.0/jdk-21.0.3 | |
| MAVEN_HOME: /opt/maven | |
| timeout-minutes: 5 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 # Updated from v3 | |
| - name: Run Checkstyle | |
| run: | | |
| export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH | |
| ./mvnw checkstyle:check | |
| # OpenCL first | |
| build-opencl: | |
| runs-on: [self-hosted, Linux, x64] | |
| needs: code-quality | |
| timeout-minutes: 20 | |
| env: | |
| JAVA_HOME: /opt/jenkins/jdks/graal-23.1.0/jdk-21.0.3 | |
| CMAKE_ROOT: /opt/jenkins/cmake-3.25.2-linux-x86_64 | |
| MAVEN_HOME: /opt/maven | |
| GRAAL_JARS: /opt/graalJars | |
| TORNADO_ROOT: ${{ github.workspace }} | |
| TORNADO_SDK: ${{ github.workspace }}/bin/sdk | |
| VENV_PATH: ${{ github.workspace }}/venv-opencl | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup environment | |
| run: | | |
| echo "$JAVA_HOME/bin" >> $GITHUB_PATH | |
| echo "$MAVEN_HOME/bin" >> $GITHUB_PATH | |
| echo "${{ github.workspace }}/bin" >> $GITHUB_PATH | |
| - name: Setup Python venv | |
| run: | | |
| python3 -m venv $VENV_PATH | |
| source $VENV_PATH/bin/activate | |
| pip install --upgrade pip tqdm psutil # Combined | |
| - name: Build TornadoVM (opencl) | |
| run: | | |
| mkdir -p graalJars && cp $GRAAL_JARS/* graalJars/ | |
| source $VENV_PATH/bin/activate | |
| make jdk21 BACKEND=opencl | |
| - name: Run opencl fast unit tests | |
| run: | | |
| source $VENV_PATH/bin/activate | |
| source setvars.sh | |
| tornado --devices | |
| make fast-tests | |
| # PTX after OpenCL | |
| build-ptx: | |
| runs-on: [self-hosted, Linux, x64] | |
| needs: build-opencl # Waits for OpenCL | |
| timeout-minutes: 20 | |
| env: | |
| JAVA_HOME: /opt/jenkins/jdks/graal-23.1.0/jdk-21.0.3 | |
| CMAKE_ROOT: /opt/jenkins/cmake-3.25.2-linux-x86_64 | |
| MAVEN_HOME: /opt/maven | |
| GRAAL_JARS: /opt/graalJars | |
| TORNADO_ROOT: ${{ github.workspace }} | |
| TORNADO_SDK: ${{ github.workspace }}/bin/sdk | |
| VENV_PATH: ${{ github.workspace }}/venv-ptx | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup environment | |
| run: | | |
| echo "$JAVA_HOME/bin" >> $GITHUB_PATH | |
| echo "$MAVEN_HOME/bin" >> $GITHUB_PATH | |
| echo "${{ github.workspace }}/bin" >> $GITHUB_PATH | |
| - name: Setup Python venv | |
| run: | | |
| python3 -m venv $VENV_PATH | |
| source $VENV_PATH/bin/activate | |
| pip install --upgrade pip tqdm psutil | |
| - name: Build TornadoVM (ptx) | |
| run: | | |
| mkdir -p graalJars && cp $GRAAL_JARS/* graalJars/ | |
| source $VENV_PATH/bin/activate | |
| make jdk21 BACKEND=ptx | |
| - name: Run ptx fast unit tests | |
| run: | | |
| source $VENV_PATH/bin/activate | |
| source setvars.sh | |
| make fast-tests | |
| # SPIRV parallel with OpenCL/PTX chain | |
| build-spirv: | |
| runs-on: [self-hosted, Linux, x64] | |
| needs: code-quality # Only waits for code-quality | |
| timeout-minutes: 20 | |
| env: | |
| JAVA_HOME: /opt/jenkins/jdks/graal-23.1.0/jdk-21.0.3 | |
| CMAKE_ROOT: /opt/jenkins/cmake-3.25.2-linux-x86_64 | |
| MAVEN_HOME: /opt/maven | |
| GRAAL_JARS: /opt/graalJars | |
| TORNADO_ROOT: ${{ github.workspace }} | |
| TORNADO_SDK: ${{ github.workspace }}/bin/sdk | |
| VENV_PATH: ${{ github.workspace }}/venv-spirv | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup environment | |
| run: | | |
| echo "$JAVA_HOME/bin" >> $GITHUB_PATH | |
| echo "$MAVEN_HOME/bin" >> $GITHUB_PATH | |
| echo "${{ github.workspace }}/bin" >> $GITHUB_PATH | |
| - name: Setup Python venv | |
| run: | | |
| python3 -m venv $VENV_PATH | |
| source $VENV_PATH/bin/activate | |
| pip install --upgrade pip tqdm psutil | |
| - name: Build TornadoVM (spirv) | |
| run: | | |
| mkdir -p graalJars && cp $GRAAL_JARS/* graalJars/ | |
| source $VENV_PATH/bin/activate | |
| make jdk21 BACKEND=spirv | |
| - name: Run spirv fast unit tests | |
| run: | | |
| source $VENV_PATH/bin/activate | |
| source setvars.sh | |
| make fast-tests | |
| build-macOs-opencl: | |
| runs-on: [self-hosted, macOS, arm64] | |
| needs: code-quality | |
| timeout-minutes: 45 | |
| env: | |
| JAVA_HOME: /opt/jenkins/jdks/graalvm-community-openjdk-21.0.1+12.1/Contents/Home | |
| TORNADO_ROOT: ${{ github.workspace }} | |
| TORNADO_SDK: ${{ github.workspace }}/bin/sdk | |
| VENV_PATH: ${{ github.workspace }}/venv-opencl | |
| CMAKE_ROOT: /opt/homebrew/bin/cmake | |
| MAVEN_HOME: /opt/homebrew/bin/mvn | |
| GRAAL_JARS: /opt/graalJars | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup environment | |
| run: | | |
| echo "$JAVA_HOME/bin" >> $GITHUB_PATH | |
| echo "$MAVEN_HOME/bin" >> $GITHUB_PATH | |
| echo "${{ github.workspace }}/bin" >> $GITHUB_PATH | |
| - name: Setup Python venv | |
| run: | | |
| python3 -m venv $VENV_PATH | |
| source $VENV_PATH/bin/activate | |
| pip install --upgrade pip tqdm psutil | |
| - name: Build TornadoVM (opencl) | |
| run: | | |
| mkdir -p graalJars && cp $GRAAL_JARS/* graalJars/ | |
| source $VENV_PATH/bin/activate | |
| make jdk21 BACKEND=opencl | |
| - name: Run opencl fast unit tests | |
| run: | | |
| source $VENV_PATH/bin/activate | |
| source setvars.sh | |
| tornado --devices | |
| make fast-tests |