Bump cache version to force fresh HAT build #168
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: Demos CI | |
| on: | |
| push: | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: demos-ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| graalpy: | |
| name: GraalPy (GraalVM) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up GraalVM | |
| uses: graalvm/setup-graalvm@v1 | |
| with: | |
| distribution: graalvm-community | |
| java-version: "21" | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| - name: Ensure executable bits | |
| run: chmod +x gradlew | |
| - name: Build and run GraalPy Java host demo (runtimeCheck only) | |
| run: ./gradlew :demos:graalpy:runtimeCheck -PjavaVersion=21 --no-daemon | |
| tornadovm-baseline: | |
| name: TornadoVM demo (baseline) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Temurin JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: "21" | |
| - name: Ensure executable bits | |
| run: chmod +x demos/tornadovm/scripts/run-baseline.sh | |
| - name: Compile + run baseline | |
| run: ./demos/tornadovm/scripts/run-baseline.sh --size 100000 --iters 1 --warmup 0 | |
| tornadovm-taskgraph: | |
| name: TornadoVM demo (TaskGraph; best-effort run) | |
| runs-on: ubuntu-latest | |
| env: | |
| TORNADOVM_VERSION: "2.2.0" | |
| TORNADOVM_BACKEND: "opencl" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Temurin JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: "21" | |
| - name: Download and extract TornadoVM SDK | |
| shell: bash | |
| run: | | |
| set -eo pipefail | |
| filename="tornadovm-${TORNADOVM_VERSION}-${TORNADOVM_BACKEND}-linux-amd64.tar.gz" | |
| url="https://github.com/beehive-lab/TornadoVM/releases/download/v${TORNADOVM_VERSION}/${filename}" | |
| echo "Downloading: ${url}" | |
| curl -fL "${url}" -o "/tmp/${filename}" | |
| mkdir -p "${RUNNER_TEMP}/tornadovm" | |
| tar -xzf "/tmp/${filename}" -C "${RUNNER_TEMP}/tornadovm" | |
| # Find the extracted SDK directory | |
| TORNADO_SDK="$(find "${RUNNER_TEMP}/tornadovm" -maxdepth 1 -type d -name 'tornadovm-*' -print -quit)" | |
| echo "TORNADO_SDK=${TORNADO_SDK}" >> "${GITHUB_ENV}" | |
| echo "Found TORNADO_SDK: ${TORNADO_SDK}" | |
| ls -la "${TORNADO_SDK}" | |
| - name: Show TornadoVM and JDK info | |
| shell: bash | |
| run: | | |
| java -version | |
| echo "TORNADO_SDK=${TORNADO_SDK}" | |
| ls -la "${TORNADO_SDK}/share/java/tornado/" || ls -la "${TORNADO_SDK}" | |
| - name: Compile TornadoVM demo (TaskGraph) | |
| shell: bash | |
| run: | | |
| build_dir="demos/tornadovm/build/tornado-ci" | |
| src_dir="demos/tornadovm/src/tornado/java" | |
| rm -rf "${build_dir}" | |
| mkdir -p "${build_dir}/mods" | |
| find "${src_dir}" -name "*.java" > "${build_dir}/sources.txt" | |
| # Find TornadoVM jars | |
| tornado_jars="$(find "${TORNADO_SDK}" -name '*.jar' -print0 | tr '\0' ':')" | |
| echo "TornadoVM jars: ${tornado_jars}" | |
| javac --enable-preview --release 21 \ | |
| --module-path "${tornado_jars}" \ | |
| -d "${build_dir}/mods/demo.tornadovm" \ | |
| @"${build_dir}/sources.txt" | |
| - name: Run TornadoVM demo (best effort; may require GPU/OpenCL drivers) | |
| continue-on-error: true | |
| shell: bash | |
| run: | | |
| build_dir="demos/tornadovm/build/tornado-ci" | |
| tornado_jars="$(find "${TORNADO_SDK}" -name '*.jar' -print0 | tr '\0' ':')" | |
| java --enable-preview \ | |
| --module-path "${tornado_jars}:${build_dir}/mods" \ | |
| --add-modules ALL-MODULE-PATH \ | |
| -m demo.tornadovm/demo.tornadovm.VectorAddTornado \ | |
| --size 100000 --iters 1 --warmup 0 --no-verify | |
| jcuda: | |
| name: JCuda (compile + run) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Temurin JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: "21" | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| - name: Ensure executable bits | |
| run: chmod +x gradlew | |
| - name: Run JCuda demo (requires CUDA - expected to fail on standard runners) | |
| continue-on-error: true | |
| run: ./gradlew :demos:jcuda:run -PjavaVersion=21 --no-daemon |