-
Notifications
You must be signed in to change notification settings - Fork 7
148 lines (142 loc) · 4.23 KB
/
Copy pathci_core_linux.yml
File metadata and controls
148 lines (142 loc) · 4.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# 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