-
Notifications
You must be signed in to change notification settings - Fork 7
159 lines (150 loc) · 4.59 KB
/
linux_ci.yml
File metadata and controls
159 lines (150 loc) · 4.59 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
149
150
151
152
153
154
155
156
157
158
159
name: Linux_CI
on:
push:
branches:
- main
- rel-*
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Linux_arm64_gcc_release:
runs-on: ["self-hosted", "1ES.Pool=mlas-linux-ARM64-CPU"]
steps:
- uses: actions/checkout@v4
- run: |
set -e -x
rm -rf build
cmake --workflow --preset linux_gcc_release_workflow
Linux_x64_gcc_ubuntu24_release_no_ort:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: |
set -e -x
rm -rf build
cmake --workflow --preset linux_gcc_release_no_ort_workflow
Linux_x64_gcc_ubuntu24_release:
runs-on: ubuntu-24.04
permissions:
actions: read
contents: read
security-events: write
steps:
- uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
config-file: ./.github/codeql/codeql-config.yml
languages: 'cpp'
- run: |
set -e -x
rm -rf build
cmake --workflow --preset linux_gcc_release_workflow
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:cpp"
output: sarif-results
upload: failure-only
- name: filter-sarif
uses: advanced-security/filter-sarif@v1
with:
patterns: |
+**/*.cc
+**/*.h
-tests/**/*.*
-build/**/*.*
input: sarif-results/cpp.sarif
output: sarif-results/cpp.sarif
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: sarif-results/cpp.sarif
Linux_x64_gcc_ubuntu22_release:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- run: |
set -e -x
rm -rf build
cmake --workflow --preset linux_gcc_release_workflow
Linux_x64_gcc_ubuntu24_debug:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: |
set -e -x
rm -rf build
cmake --workflow --preset linux_gcc_debug_workflow
Linux_x64_clang_ubuntu24_debug:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: |
set -e -x
rm -rf build
cmake --workflow --preset linux_clang_debug_workflow
Linux_x64_gcc_ubuntu24_debug_asan:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: |
set -e -x
rm -rf build
cmake --workflow --preset linux_gcc_debug_asan_workflow
Linux_wasm_debug_asan:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: |
set -e -x
rm -rf build
mkdir -p build
cd build
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest
source emsdk_env.sh
cd ..
CFLAGS="-O0 -g -fsanitize=address" CXXFLAGS="-O0 -g -fsanitize=address" emcmake cmake .. -DCMAKE_BUILD_TYPE=Debug -DMLAS_ENABLE_WEBASSEMBLY_THREADS=ON
make -j $(nproc) all
ctest --output-on-failure
Linux_wasm_release:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: |
set -e -x
rm -rf build
mkdir -p build
cd build
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest
source emsdk_env.sh
cd ..
CFLAGS="-O2 -DNDEBUG -g" CXXFLAGS="-O2 -DNDEBUG -g" emcmake cmake .. -DCMAKE_BUILD_TYPE=Release -DMLAS_ENABLE_WEBASSEMBLY_THREADS=ON
make -j $(nproc) all
ctest --output-on-failure
Linux_wasm_release_no_exception:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: |
set -e -x
rm -rf build
mkdir -p build
cd build
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest
source emsdk_env.sh
cd ..
CFLAGS="-O2 -DNDEBUG -g" CXXFLAGS="-O2 -DNDEBUG -g" emcmake cmake .. -DCMAKE_BUILD_TYPE=Release -DMLAS_ENABLE_WEBASSEMBLY_THREADS=ON -DMLAS_ENABLE_WEBASSEMBLY_EXCEPTION_CATCHING=ON
make -j $(nproc) all
ctest --output-on-failure