Skip to content

Merge pull request #754 from orionpapadakis/feat/q8-as-bytearray #74

Merge pull request #754 from orionpapadakis/feat/q8-as-bytearray

Merge pull request #754 from orionpapadakis/feat/q8-as-bytearray #74

Workflow file for this run

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