hanchenye-Polygeist/.github/workflows/build.yml

69 lines
2.3 KiB
YAML

name: MLIR-GPU Test CI
on: [push]
jobs:
build:
name: Build ${{ matrix.build }} ${{ matrix.os }} ${{ matrix.compiler }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
build: ["Release"] #, "Debug"] # "RelWithDebInfo"
os: [ubuntu-18.04]
compiler: [gcc, clang]
cxxcompiler: [g++, clang++]
exclude:
- compiler: gcc
cxxcompiler: clang++
- compiler: clang
cxxcompiler: g++
steps:
- name: add dependencies
run: sudo apt-get install -y ninja-build #cmake binutils-gold binutils binutils-dev ${{ matrix.compiler }} ${{ matrix.linker-pkg }}
- uses: actions/checkout@v2
with:
fetch-depth: 1
path: src
submodules: 'recursive'
- name: setup cymbl
run: |
cd /
sudo wget --no-verbose https://github.com/cymbl/cymbl.github.io/releases/download/0.0.1/LLVM-11.0.0git-Linux.sh
printf "y\nn\n" | sudo bash LLVM-11.0.0git-Linux.sh
printf "{\"refreshToken\":\"%s\"}" "${{ secrets.SuperSecret }}" > ~/.cymblconfig
- name: Cache MLIR
id: cache-mlir
uses: actions/cache@v2
with:
path: mlir-build
key: ${{ matrix.build }}-${{ matrix.os }}-mlir-${{ hashFiles('src/.git/modules/llvm-project/HEAD') }}
- name: MLIR build
if: steps.cache-mlir.outputs.cache-hit != 'true'
run: |
mkdir mlir-build
cd mlir-build
CYMBL=OFF cmake ../src/llvm-project/llvm -GNinja -DLLVM_ENABLE_PROJECTS="llvm;clang;mlir;openmp" -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DCMAKE_C_COMPILER=/bin/clang -DCMAKE_CXX_COMPILER=/bin/clang++ -DCMAKE_ASM_COMPILER=/bin/clang -DCMAKE_CXX_FLAGS="-Wno-c++11-narrowing"
cymbld & disown
sleep 10
ninja -j125
- name: mkdir
run: mkdir build
- name: cmake
run: |
cd build
ls ../mlir-build/lib/cmake/clang
cmake ../src/ -GNinja -DMLIR_DIR=`pwd`/../mlir-build/lib/cmake/mlir -DLLVM_EXTERNAL_LIT=`pwd`/../mlir-build/bin/llvm-lit -DClang_DIR=`pwd`/../mlir-build/lib/cmake/clang -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DCMAKE_C_COMPILER=${{matrix.compiler}} -DCMAKE_CXX_COMPILER=${{matrix.cxxcompiler}}
- name: test mlir-clang
run: |
cd build
ninja check-mlir-clang
ninja check-polygeist