diff --git a/.github/workflows/buildAndTest.yml b/.github/workflows/buildAndTest.yml deleted file mode 100644 index 68b6cab10f..0000000000 --- a/.github/workflows/buildAndTest.yml +++ /dev/null @@ -1,169 +0,0 @@ -name: Build and Test - -on: - push: - branches: - - main - pull_request: - types: [assigned, opened, synchronize, reopened] - workflow_dispatch: - merge_group: - -env: - # Run apt package manager in the CI in non-interactive mode. - # Otherwise, on Ubuntu 20.04 the installation of tzdata asking question - DEBIAN_FRONTEND: noninteractive - -concurrency: - # A PR number if a pull request and otherwise the commit hash. This cancels - # queued and in-progress runs for the same PR (presubmit) or commit - # (postsubmit). - group: ci-build-test-cpp-linux-${{ github.event.number || github.sha }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - build-repo: - name: Build and Test - - runs-on: ubuntu-${{ matrix.ubuntu_version }} - - strategy: - # Run all the test even if there are some which fail - fail-fast: false - - # Run the tests on the Cartesian product of the following - matrix: - build_type: [ Assert, Release ] - ubuntu_version: [ 20.04, 22.04, 24.04 ] - - steps: - # Clone the repo and its submodules. Do shallow clone to save clone - # time. - - name: Get the project repository - uses: actions/checkout@v4 - with: - fetch-depth: 2 - submodules: "true" - - - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - - name: Install Python packages - run: | - pip install -r python/requirements.txt - HOST_MLIR_PYTHON_PACKAGE_PREFIX=aie pip install -r python/requirements_extras.txt - - - name: Install packages - run: | - sudo apt-get install -y ninja-build clang lld libelf-dev - - - name: Upgrade gcc - if: matrix.ubuntu_version == '20.04' - run: | - sudo apt-get install -y ninja-build clang lld - - sudo apt install build-essential manpages-dev software-properties-common - sudo add-apt-repository ppa:ubuntu-toolchain-r/test - GCC_VERSION=11 - sudo apt update && sudo apt install gcc-$GCC_VERSION g++-$GCC_VERSION - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 \ - --slave /usr/bin/g++ g++ /usr/bin/g++-9 \ - --slave /usr/bin/gcov gcov /usr/bin/gcov-9 \ - --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-9 \ - --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-9 - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-$GCC_VERSION 110 \ - --slave /usr/bin/g++ g++ /usr/bin/g++-$GCC_VERSION \ - --slave /usr/bin/gcov gcov /usr/bin/gcov-$GCC_VERSION \ - --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-$GCC_VERSION \ - --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-$GCC_VERSION - - - name: Get MLIR - id: mlir-wheels - run: | - - VERSION=$(utils/clone-llvm.sh --get-wheel-version) - pip -q download mlir==$VERSION \ - -f https://github.com/Xilinx/mlir-aie/releases/expanded_assets/mlir-distro - unzip -q mlir-*.whl - - - name: Ccache for C++ compilation - uses: hendrikmuhs/ccache-action@v1.2 - with: - # Since there are now several compilation jobs running in parallel, - # use a different key per job to avoid a ccache writing race condition - key: ${{ matrix.build_type }}-${{ runner.os }}-${{ matrix.ubuntu_version }} - max-size: 1G - - # Build the repo test target in debug mode to build and test. - - name: Build and test (Assert) - if: matrix.build_type == 'Assert' - run: | - - mkdir build_assert - cd build_assert - - cmake .. \ - -GNinja \ - -DCMAKE_BUILD_TYPE=Debug \ - -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ - -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_PLATFORM_NO_VERSIONED_SONAME=ON \ - -DCMAKE_VISIBILITY_INLINES_HIDDEN=ON \ - -DCMAKE_C_VISIBILITY_PRESET=hidden \ - -DCMAKE_CXX_VISIBILITY_PRESET=hidden \ - -DAIE_COMPILER=NONE \ - -DAIE_LINKER=NONE \ - -DAIE_ENABLE_PYTHON_PASSES=OFF \ - -DAIE_ENABLE_AIRBIN=OFF \ - -DHOST_COMPILER=NONE \ - -DLLVM_ENABLE_ASSERTIONS=ON \ - -DLLVM_ENABLE_RTTI=ON \ - -DCMAKE_MODULE_PATH=$PWD/../cmake/modulesXilinx \ - -DMLIR_DIR=$PWD/../mlir/lib/cmake/mlir \ - -DLLVM_DIR=$PWD/../mlir/lib/cmake/llvm \ - -DLLVM_USE_LINKER=lld \ - -DLLVM_EXTERNAL_LIT=$(which lit) \ - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - - ninja - ninja check-aie - ninja check-tutorials - ninja check-reference-designs - ninja check-programming-guide - - # Build the repo test target in release mode to build and test. - - name: Build and test (Release) - if: matrix.build_type == 'Release' - run: | - - mkdir build_release - cd build_release - - cmake .. \ - -G Ninja \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ - -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_PLATFORM_NO_VERSIONED_SONAME=ON \ - -DCMAKE_VISIBILITY_INLINES_HIDDEN=ON \ - -DCMAKE_C_VISIBILITY_PRESET=hidden \ - -DCMAKE_CXX_VISIBILITY_PRESET=hidden \ - -DAIE_COMPILER=NONE \ - -DAIE_LINKER=NONE \ - -DAIE_ENABLE_PYTHON_PASSES=OFF \ - -DAIE_ENABLE_AIRBIN=OFF \ - -DHOST_COMPILER=NONE \ - -DLLVM_ENABLE_ASSERTIONS=OFF \ - -DLLVM_ENABLE_RTTI=ON \ - -DCMAKE_MODULE_PATH=$PWD/../cmake/modulesXilinx \ - -DMLIR_DIR=$PWD/../mlir/lib/cmake/mlir \ - -DLLVM_DIR=$PWD/../mlir/lib/cmake/llvm \ - -DLLVM_USE_LINKER=lld \ - -DLLVM_EXTERNAL_LIT=$(which lit) - - ninja - ninja check-aie - ninja check-tutorials - ninja check-reference-designs - ninja check-programming-guide