Skip to content

Enable color threshold and passthrough reference design tests in hw (… #1

Enable color threshold and passthrough reference design tests in hw (…

Enable color threshold and passthrough reference design tests in hw (… #1

name: Build and Test with AIE tools
on:
push:
branches:
- main
workflow_dispatch:
inputs:
AIE_COMMIT:
description: 'which aie commit to build'
type: string
required: false
default: ''
LIT_FILTER:
description: 'LIT_FILTER for tests (regex of paths in test/)'
type: string
required: false
default: 'dialect|Conversion|Targets|Integration|python'
defaults:
run:
shell: bash
env:
DEBIAN_FRONTEND: noninteractive
jobs:
build-repo:
name: Build and Test
runs-on: ubuntu-latest
steps:
- name: Free disk space
uses: descriptinc/free-disk-space@main
with:
tool-cache: true
android: true
dotnet: true
haskell: true
large-packages: true
swap-storage: false
- name: Docker prune
shell: bash
run: |
docker system prune -a -f
- uses: uraimo/[email protected]
name: Run commands
id: runcmd
with:
distro: none
base_image: ghcr.io/xilinx/mlir-aie/xilinx:latest
githubToken: ${{ github.token }}
dockerRunArgs: |
--mac-address ${{ secrets.XILINX_MAC }}
run: |
ls -l /opt/Xilinx/Vitis/2023.2/
# this is the inverse of `base64 -w 1000000 Xilinx.lic`
# the -w ("wrap after 1000000 cols") is so that there are no spaces in the XILINX_LIC env var
echo -n "${{ secrets.XILINX_LIC }}" | base64 --decode > ~/.Xilinx/Xilinx.lic
cd /
git clone --recursive https://github.com/Xilinx/mlir-aie.git
pushd mlir-aie && git checkout ${{ github.head_ref }} && popd
pip -q download mlir -f https://makslevental.github.io/wheels && unzip -q mlir-18*.whl
cd /mlir-aie
if [ x"${{ inputs.AIE_COMMIT }}" != x"" ]; then
pushd mlir-aie && git reset --hard $AIE_COMMIT && popd
fi
pip install -r python/requirements.txt
# don't delete the space in the sed
cd cmake/modulesXilinx && sed -i.bak 's/ VITIS_VPP//g' FindVitis.cmake
mkdir -p /mlir-aie/build
cd /mlir-aie/build
cmake .. -G Ninja \
-DMLIR_DIR=/mlir/lib/cmake/mlir \
-DVITIS_ROOT=/opt/Xilinx/Vitis/2023.2/ \
-DVitis_VERSION_MAJOR=2023 \
-DVitis_VERSION_MINOR=2 \
-DCMAKE_MODULE_PATH=$PWD/../cmake/modulesXilinx \
-DLLVM_EXTERNAL_LIT=$(which lit) \
-DAIE_INCLUDE_INTEGRATION_TESTS=ON \
-DCMAKE_EXE_LINKER_FLAGS_INIT="-fuse-ld=lld" \
-DCMAKE_MODULE_LINKER_FLAGS_INIT="-fuse-ld=lld" \
-DCMAKE_SHARED_LINKER_FLAGS_INIT="-fuse-ld=lld" \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_INSTALL_PREFIX=install
ninja
if [ "${{ github.event_name }}" == "push" ]; then
LIT_FILTER="dialect|Conversion|Targets|Integration|python"
else
LIT_FILTER="${{ inputs.LIT_FILTER }}"
fi
sed -i.bak 's/-sv --timeout 600/-sv --timeout 600 -j1/g' ../test/CMakeLists.txt
LIT_FILTER="$LIT_FILTER" PATH=/opt/Xilinx/Vitis/2023.2/aietools/bin:$PATH ninja check-aie