| # 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@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 |
| - name: Build IREE |
| run: | |
| source ./build_tools/cmake/setup_sccache.sh |
| ./build_tools/cmake/build_all.sh "${BUILD_DIR}" |
| env: |
| # Build the first rocjitsu target's test deps along with everything else. |
| IREE_ROCM_TEST_TARGET_CHIP: gfx942 |
| - name: Run CTest |
| run: ./build_tools/cmake/ctest_all.sh "${BUILD_DIR}" |
| env: |
| CTEST_PARALLEL_LEVEL: 32 |
| |
| - name: Install TheRock SDK with rocjitsu |
| run: | |
| sdk_venv="${BUILD_DIR}/rocjitsu/therock-venv" |
| python3 -m venv "${sdk_venv}" |
| "${sdk_venv}/bin/python" -m pip install --pre \ |
| --index-url https://nightly.repo.amd.com/rocm/whl-next/ \ |
| "rocm[libraries,devel]==10.1.0a20260909" |
| "${sdk_venv}/bin/rocm-sdk" init |
| "${sdk_venv}/bin/rocm-sdk" version |
| rocm_root="$("${sdk_venv}/bin/rocm-sdk" path --root)" |
| echo "ROCM_ROOT=${rocm_root}" >> "${GITHUB_ENV}" |
| echo "ROCJITSU_BIN=${rocm_root}/bin/mirage" >> "${GITHUB_ENV}" |
| |
| - name: Run ROCm e2e tests under rocjitsu |
| timeout-minutes: 120 |
| run: | |
| ./build_tools/cmake/test_rocm_targets_with_rocjitsu.sh \ |
| "${BUILD_DIR}" gfx942 gfx950 gfx1100 gfx1201 gfx1250 |
| env: |
| IREE_ROCJITSU_RUN_ID: ci |
| CTEST_PARALLEL_LEVEL: 8 |
| |
| - name: Upload rocjitsu test results |
| if: always() |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 |
| with: |
| name: rocjitsu-linux-x64-clang |
| path: ${{ env.BUILD_DIR }}/rocjitsu/logs/ci/ |
| if-no-files-found: ignore |
| |
| # Alerting on failure is the responsibility of the calling job. |