| # 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 arm64 clang |
| |
| on: |
| pull_request: |
| paths: |
| - ".github/workflows/ci_linux_arm64_clang.yml" |
| schedule: |
| # Weekday mornings at 09:15 UTC = 01:15 PST (UTC - 8). |
| - cron: "15 9 * * 1-5" |
| workflow_dispatch: |
| |
| 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). The workflow name is prepended to avoid conflicts between |
| # different workflows. |
| group: ${{ github.workflow }}-${{ github.event.number || github.sha }} |
| cancel-in-progress: true |
| |
| jobs: |
| setup: |
| uses: ./.github/workflows/setup.yml |
| |
| linux_arm64_clang: |
| needs: setup |
| # See https://gitlab.arm.com/tooling/gha-runner-docs |
| runs-on: ah-ubuntu_22_04-c7g_4x-50 |
| container: |
| image: ghcr.io/iree-org/cpubuilder_ubuntu_jammy@sha256:f3e2c56680b6007f29c8e191d93dfcb4f8800802e3caeb4851da90f2a1a0b5a5 |
| defaults: |
| run: |
| shell: bash |
| env: |
| BUILD_DIR: build-arm64 |
| steps: |
| - name: "Checking out repository" |
| uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 |
| with: |
| submodules: true |
| - name: Install Python requirements |
| run: python3 -m pip install -r ./runtime/bindings/python/iree/runtime/build_requirements.txt |
| # TODO(#18557): enable sccache (watching for network bandwidth charges |
| # between the cache server and AWS VMs) |
| - name: CMake - configure |
| run: | |
| 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 |
| - name: Run CTest |
| env: |
| # (For now) QEMU is required to run tests with SME |
| IREE_ARM_SME_QEMU_AARCH64_BIN: /usr/bin/qemu-aarch64 |
| run: ./build_tools/cmake/ctest_all.sh "${BUILD_DIR}" |
| - name: Test iree-dialects |
| run: ./build_tools/cmake/test_iree_dialects.sh "${BUILD_DIR}" |