| # Copyright 2024 The IREE Authors | |
| # | |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. | |
| # See https://llvm.org/LICENSE.txt for license information. | |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| name: CI - Linux x64 clang | |
| on: | |
| workflow_call: | |
| workflow_dispatch: | |
| jobs: | |
| linux_x64_clang: | |
| runs-on: azure-linux-scale | |
| container: | |
| image: ghcr.io/iree-org/cpubuilder_ubuntu_jammy@sha256:78a558b999b230f7e1da376639e14b44f095f30f1777d6a272ba48c0bbdd4ccb | |
| defaults: | |
| run: | |
| shell: bash | |
| env: | |
| BUILD_DIR: build | |
| SCCACHE_AZURE_CONNECTION_STRING: "${{ secrets.AZURE_CCACHE_CONNECTION_STRING }}" | |
| SCCACHE_AZURE_BLOB_CONTAINER: ccache-container | |
| SCCACHE_CACHE_ZSTD_LEVEL: 10 | |
| SCCACHE_AZURE_KEY_PREFIX: "ci_linux_x64_clang" | |
| steps: | |
| - name: "Checking out repository" | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| submodules: true | |
| - name: Install Python requirements | |
| run: python3 -m pip install -r ./runtime/bindings/python/iree/runtime/build_requirements.txt | |
| - name: CMake - configure | |
| run: | | |
| source ./build_tools/cmake/setup_sccache.sh | |
| cmake \ | |
| -G Ninja \ | |
| -B ${BUILD_DIR} \ | |
| -DPython3_EXECUTABLE="$(which python3)" \ | |
| -DCMAKE_BUILD_TYPE=RelWithDebInfo \ | |
| -DIREE_BUILD_PYTHON_BINDINGS=ON \ | |
| -DIREE_ENABLE_LLD=ON \ | |
| -DIREE_ENABLE_ASSERTIONS=ON \ | |
| -DIREE_BUILD_DOCS=ON \ | |
| -DIREE_TARGET_BACKEND_WEBGPU_SPIRV=ON | |
| - name: CMake - build | |
| run: | | |
| cmake --build ${BUILD_DIR} -- -k 0 | |
| cmake --build ${BUILD_DIR} --target install -- -k 0 | |
| cmake --build ${BUILD_DIR} --target iree-test-deps -- -k 0 | |
| sccache --show-stats | |
| - name: Run CTest | |
| run: ./build_tools/cmake/ctest_all.sh "${BUILD_DIR}" | |
| - name: Test iree-dialects | |
| run: ./build_tools/cmake/test_iree_dialects.sh "${BUILD_DIR}" | |
| # Alerting on failure is the responsibility of the calling job. |