version: 2 jobs: build: docker: - image: circleci/python resource_class: medium+ steps: - run: name: Installing GCC, CMake, Ninja, Protobuf command: sudo apt-get update && sudo apt-get install -y gcc g++ cmake ninja-build protobuf-compiler - checkout: path: ONNF - run: name: Pull Submodules command: | cd ONNF git submodule update --init --recursive # Use cached mlir installation if possible. - restore_cache: key: V6-LLVM-PROJECT-{{ arch }} - run: name: Install MLIR command: | # Check whether cache restoration succeeds by checking whether # mlir-opt executable exists. if [ ! -f llvm-project/build/bin/mlir-opt ]; then export MAKEFLAGS=-j4 source ONNF/utils/install-mlir.sh fi - save_cache: key: V6-LLVM-PROJECT-{{ arch }} paths: - llvm-project - run: name: Install ONNF command: source ONNF/utils/install-onnf.sh - run: name: Run End-To-End Tests command: | sudo pip install -q -e ./ONNF/third_party/onnx cd ONNF/build cmake --build . --target run-onnx-backend-test - run: name: Run DocCheck command: cd ONNF/build && cmake --build . --target check-doc - run: name: Ensure tablegen documentation is up-to-date command: | cd ONNF/build cmake --build . --target onnf-doc # Check whether dialect documentation is up-to-date. diff doc/Dialects ../doc/Dialects - run: name: Print the Current Time command: date