-
Notifications
You must be signed in to change notification settings - Fork 98
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
86f0e2a
commit 766f027
Showing
1 changed file
with
99 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
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 | ||
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 | ||
# 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 | ||
sed -i.bak 's/-sv --timeout 600/-sv --timeout 600 -j1/g' ../test/CMakeLists.txt | ||
LIT_FILTER="${{ inputs.LIT_FILTER }}" PATH=/opt/Xilinx/Vitis/2023.2/aietools/bin:$PATH ninja check-aie |