Allow overriding of runtime toolchain files. #447
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 repo | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 2 | |
submodules: "true" | |
- name: Install packages | |
run: sudo apt-get install -y libboost-all-dev graphviz | |
- name: Install psutil | |
run: sudo pip install psutil rich numpy pybind11 | |
- name: Install Ninja | |
uses: llvm/actions/install-ninja@55d844821959226fab4911f96f37071c1d4c3268 | |
- name: Get Submodule Hash | |
id: get-submodule-hash | |
run: echo "::set-output name=hash::$(md5sum $(echo utils/clone-llvm.sh))" | |
shell: bash | |
- name: Ccache for C++ compilation | |
uses: hendrikmuhs/ccache-action@4687d037e4d7cf725512d9b819137a3af34d39b3 | |
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=../cmakeModules \ | |
-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 | |
uses: peaceiris/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: ./build_release/docs | |
enable_jekyll: true | |