Repair and enable python test (#588) #475
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
name: Generate GitHub Pages | |
on: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
jobs: | |
build-docs: | |
name: Generate Documentation | |
runs-on: ubuntu-latest | |
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment | |
permissions: | |
contents: write | |
steps: | |
- name: Configure Environment | |
run: echo "$GITHUB_WORKSPACE/llvm/install/bin" >> $GITHUB_PATH | |
# Clone the repo and its submodules. Do shallow clone to save clone | |
# time. | |
- name: Get the project repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 2 | |
submodules: "true" | |
- name: Install packages | |
run: sudo apt-get install -y libboost-all-dev graphviz | |
- name: Install Python packages | |
run: sudo pip install psutil rich numpy pybind11 | |
- name: Install Ninja | |
# https://github.com/llvm/actions/tree/main/install-ninja | |
uses: llvm/actions/install-ninja@6a57890d0e3f9f35dfc72e7e48bc5e1e527cdd6c | |
- name: Get Submodule Hash | |
id: get-submodule-hash | |
run: echo "hash=$(md5sum $(echo utils/clone-llvm.sh))" >> $GITHUB_OUTPUT | |
shell: bash | |
- name: Ccache for C++ compilation | |
# https://github.com/hendrikmuhs/ccache-action/releases/tag/v1.2.9 | |
uses: hendrikmuhs/ccache-action@ca3acd2731eef11f1572ccb126356c2f9298d35e | |
with: | |
key: ${{ runner.os }}-clangreleaseasserts-${{ steps.get-submodule-hash.outputs.hash }} | |
max-size: 1G | |
- name: Get cmakeModules | |
id: clone-cmakeModules | |
run: git clone --depth 1 https://github.com/Xilinx/cmakeModules.git | |
shell: bash | |
- name: Get LLVM | |
id: clone-llvm | |
run: utils/clone-llvm.sh | |
shell: bash | |
- name: Rebuild and Install LLVM | |
run: utils/build-llvm.sh | |
# Build the repo test target in release mode to build and test. | |
- name: Build Docs | |
run: | | |
mkdir build_release | |
pushd build_release | |
cmake .. \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DLLVM_ENABLE_ASSERTIONS=OFF \ | |
-DCMAKE_MODULE_PATH=`pwd`/../cmake/modulesXilinx \ | |
-DMLIR_DIR=../llvm/install/lib/cmake/mlir \ | |
-DLLVM_DIR=../llvm/install/lib/cmake/llvm \ | |
-DCMAKE_LINKER=lld \ | |
-DCMAKE_C_COMPILER=clang \ | |
-DCMAKE_CXX_COMPILER=clang++ \ | |
-DAIE_ENABLE_BINDINGS_PYTHON=ON \ | |
-DAIE_INCLUDE_DOCS=ON \ | |
-DLLVM_EXTERNAL_LIT=`pwd`/../llvm/build/bin/llvm-lit | |
make docs | |
popd | |
cp -r docs/* build_release/docs | |
dot -Tpng docs/dialects.dot > build_release/docs/dialects.png | |
dot -Tsvg docs/dialects.dot > build_release/docs/dialects.svg | |
- name: Save LLVM Version | |
run: | | |
cd llvm; set VER=`git rev-parse HEAD` | |
echo "{" > ../build_release/docs/build_info.json | |
echo "llvm-version: \"$(VER)\"," >> ../build_release/docs/build_info.json | |
echo "}" > ../build_release/docs/build_info.json | |
- name: Publish to GitHub-Pages | |
# https://github.com/peaceiris/actions-gh-pages/releases/tag/v3.9.3 | |
uses: peaceiris/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: ./build_release/docs | |
enable_jekyll: true |