blob: 42092df0668fe831771682f79b89abf3907e3210 [file]
# 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.