| # 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: | |
| schedule: | |
| # Weekday mornings at 09:15 UTC = 01:15 PST (UTC - 8). | |
| - cron: "15 9 * * 1-5" | |
| workflow_dispatch: | |
| workflow_call: | |
| jobs: | |
| linux_arm64_clang: | |
| if: ${{ github.repository_owner == 'iree-org' }} | |
| # 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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| submodules: true | |
| - name: Install Python requirements | |
| run: | | |
| python3 -m pip install -r ./runtime/bindings/python/iree/runtime/build_requirements.txt | |
| python3 -m pip install -r ./build_tools/github_actions/ci_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_ENABLE_SPLIT_DWARF=ON \ | |
| -DIREE_ENABLE_THIN_ARCHIVES=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: Post to Discord on Failure | |
| uses: sarisia/actions-status-discord@eb045afee445dc055c18d3d90bd0f244fd062708 # v1.16.0 | |
| if: failure() && github.ref_name == 'main' && github.repository_owner == 'iree-org' | |
| with: | |
| webhook: ${{ secrets.DISCORD_WEBHOOK }} | |
| description: "The ${{ github.workflow }} workflow failed" | |
| url: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}/attempts/${{ github.run_attempt }}" |