| # 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. |