blob: 7109e2c2f04dde6d1d83a710e524614c20a8c5b2 [file] [log] [blame] [edit]
# Copyright 2024 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
name: PkgCI Test PJRT plugin
on:
workflow_call:
inputs:
artifact_run_id:
type: string
default: ""
write-caches:
required: true
type: string
workflow_dispatch:
inputs:
artifact_run_id:
type: string
default: ""
write-caches:
required: true
type: string
jobs:
build_and_test:
strategy:
matrix:
include:
- runner: ubuntu-24.04
pjrt_platform: cpu
- runner: ubuntu-24.04
pjrt_platform: cuda
# TODO: enable these AMD runners
# - runner: iree-w7900x2
# pjrt_platform: rocm
# - runner: iree-w7900x2
# pjrt_platform: vulkan
name: Build and test
runs-on: ${{ matrix.runner }}
env:
PACKAGE_DOWNLOAD_DIR: ${{ github.workspace }}/.packages
VENV_DIR: ${{ github.workspace }}/.venv
GH_TOKEN: ${{ github.token }}
steps:
- name: Checking out repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
submodules: true
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
# Must match the subset of versions built in pkgci_build_packages.
python-version: "3.11"
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
if: ${{ inputs.artifact_run_id == '' }}
with:
name: linux_x86_64_release_packages
path: ${{ env.PACKAGE_DOWNLOAD_DIR }}
- name: Setup base venv
run: |
./build_tools/pkgci/setup_venv.py ${VENV_DIR} \
--artifact-path=${PACKAGE_DOWNLOAD_DIR} \
--fetch-gh-workflow=${{ inputs.artifact_run_id }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: ccache
uses: hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639 # v1.2.20
with:
key: ${{ github.job }}-${{ matrix.pjrt_platform }}
save: ${{ inputs.write-caches == 1 }}
- name: Build and install
run: |
# install editable into venv
source ${VENV_DIR}/bin/activate
export CMAKE_C_COMPILER_LAUNCHER=ccache
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
python -m pip install -v --no-deps -e integrations/pjrt/python_packages/iree_${{ matrix.pjrt_platform }}_plugin
# install
python -m pip install jax==0.6.1
# TODO: We can only run on CPU for now, as the CUDA runner
# is not available yet, refer to #18814.
- name: Run tests
if: ${{ matrix.pjrt_platform == 'cpu' }}
run: |
source ${VENV_DIR}/bin/activate
build_tools/testing/run_jax_tests.sh ${{ matrix.pjrt_platform }}