IREE Runtime Template #43
Workflow file for this run
This file contains 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
# 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: IREE Runtime Template | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.number || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
build_and_test: | |
name: ${{ matrix.name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# - name: ubuntu-20.04 - clang | |
# os: ubuntu-20.04 | |
# cc_compiler: clang | |
# cxx_compiler: clang++ | |
# - name: ubuntu-22.04 - clang | |
# os: ubuntu-22.04 | |
# cc_compiler: clang | |
# cxx_compiler: clang++ | |
# - name: ubuntu-20.04 - gcc | |
# os: ubuntu-20.04 | |
# cc_compiler: gcc | |
# cxx_compiler: g++ | |
# - name: ubuntu-22.04 - gcc | |
# os: ubuntu-22.04 | |
# cc_compiler: gcc | |
# cxx_compiler: g++ | |
# - name: windows-2019 - msvc | |
# os: windows-2019 | |
# compiler: msvc | |
- name: windows-2022 - msvc | |
os: windows-2022 | |
compiler: msvc | |
# - name: windows-2019 - clang | |
# os: windows-2019 | |
# compiler: clang | |
- name: windows-2022 - clang | |
os: windows-2022 | |
compiler: clang | |
defaults: | |
run: | |
shell: bash | |
steps: | |
########################################################################### | |
# OS specific setup | |
########################################################################### | |
- name: Install dependencies (Linux) | |
if: contains(matrix.os, 'ubuntu') | |
run: | | |
sudo apt update | |
sudo apt install cmake clang ninja-build | |
export CC=${{ matrix.cc_compiler }} | |
export CXX=${{ matrix.cxx_compiler }} | |
- name: Configure MSVC (Windows) | |
if: contains(matrix.os, 'windows') && contains(matrix.compiler, 'msvc') | |
uses: ilammy/[email protected] | |
- name: Configure clang (Windows) | |
if: contains(matrix.os, 'windows') && contains(matrix.compiler, 'clang') | |
run: | | |
choco install ninja --yes | |
echo "CC='C:\Program Files\LLVM\bin\clang.exe'" >> $GITHUB_ENV | |
echo "CXX='C:\Program Files\LLVM\bin\clang++.exe'" >> $GITHUB_ENV | |
########################################################################### | |
# General setup | |
########################################################################### | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
- name: Install IREE compiler | |
run: | | |
python -m pip install iree-compiler | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Initialize submodules | |
run : | | |
git \ | |
-c submodule."third_party/llvm-project".update=none \ | |
-c submodule."third_party/stablehlo".update=none \ | |
-c submodule."third_party/torch-mlir".update=none \ | |
submodule update --init --recursive | |
########################################################################### | |
# Build and test | |
########################################################################### | |
- name: Build sample | |
run: | | |
cmake -B build/ -G Ninja | |
cmake --build build/ --target hello_world | |
- name: Compile sample module | |
run: | | |
iree-compile \ | |
--iree-hal-target-backends=llvm-cpu \ | |
simple_mul.mlir \ | |
-o build/simple_mul.vmfb | |
- name: Test execution | |
run: | | |
./build/hello_world local-sync build/simple_mul.vmfb |