Skip to content

[Loom] Harden dynamic source lowering #535

[Loom] Harden dynamic source lowering

[Loom] Harden dynamic source lowering #535

Workflow file for this run

# Copyright 2026 The HRX 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 CMake Linux
on:
workflow_dispatch:
inputs:
release_type:
type: choice
options:
- nightly
- dev
- prerelease
default: nightly
run_id:
type: string
description: "TheRock artifact run id. Empty means latest complete Linux run."
default: ""
artifact_set:
type: choice
options:
- core
- core-with-llvm-dev
- core-with-upstream-hip
default: core
test_gpu:
type: boolean
default: false
pull_request:
push:
branches:
- main
- main-staging
permissions:
actions: read
contents: read
jobs:
cmake_linux:
name: Linux / CMake / CI
strategy:
fail-fast: false
matrix:
include:
- variant: Default
sanitizer: none
assertions: false
run_tests: true
ctest_exclude_regex: ""
package: true
- variant: ASAN
sanitizer: asan
assertions: true
run_tests: true
ctest_exclude_regex: ""
package: false
- variant: TSAN
sanitizer: tsan
assertions: true
run_tests: true
# TODO(#19): io_uring CTS core_tests hangs under TSAN on the
# current managed Linux CI runner. Keep this as a CI-only exclusion
# so local/source coverage remains intact.
ctest_exclude_regex: "^iree/async/platform/io_uring/cts/core_tests$"
package: false
- variant: UBSAN
sanitizer: ubsan
assertions: true
run_tests: true
ctest_exclude_regex: ""
package: false
uses: ./.github/workflows/build_core_linux.yml
permissions:
contents: read
with:
name: ${{ matrix.variant }}
release_type: ${{ inputs.release_type || 'nightly' }}
run_id: ${{ inputs.run_id || '' }}
artifact_set: ${{ inputs.artifact_set || 'core' }}
build_type: RelWithDebInfo
sanitizer: ${{ matrix.sanitizer }}
assertions: ${{ matrix.assertions }}
test_gpu: ${{ inputs.test_gpu || false }}
run_tests: ${{ matrix.run_tests }}
ctest_exclude_regex: ${{ matrix.ctest_exclude_regex }}
ctest_label_exclude_regex: "runtime-resource=|manual"
cmake_options: |
-DIREE_HAL_AMDGPU_TARGETS=gfx942;gfx1151;gfx1201
package: ${{ matrix.package }}
gpu_linux:
name: ${{ matrix.name }}
needs: cmake_linux
if: ${{ needs.cmake_linux.result == 'success' }}
strategy:
fail-fast: false
matrix:
include:
- name: Linux / CMake / GPU gfx942
chip: gfx942
runner_label: linux-gfx942-1gpu-core42-ossci-rocm
ctest_exclude_regex: ""
experimental: false
- name: Linux / CMake / GPU gfx1201
chip: gfx1201
runner_label: gpu_navi4x
ctest_exclude_regex: ""
experimental: false
uses: ./.github/workflows/test_core_linux_gpu.yml
permissions:
actions: read
contents: read
with:
name: ${{ matrix.name }}
runner_label: ${{ matrix.runner_label }}
artifact_run_id: ${{ github.run_id }}
device: gpu:0
ctest_exclude_regex: ${{ matrix.ctest_exclude_regex }}
ctest_label_regex: runtime-resource=amd-gpu
ctest_label_exclude_regex: manual
ctest_parallelism: 1
experimental: ${{ matrix.experimental }}
summary:
name: Linux / CMake / CI / Summary
needs:
- cmake_linux
- gpu_linux
if: ${{ always() }}
runs-on: ubuntu-24.04
steps:
- name: Check matrix result
run: |
result="${{ needs.cmake_linux.result }}"
echo "cmake_linux result: ${result}"
if [[ "${result}" != "success" ]]; then
exit 1
fi
result="${{ needs.gpu_linux.result }}"
echo "gpu_linux result: ${result}"
if [[ "${result}" != "success" ]]; then
exit 1
fi