Skip to content

Commit a4cf335

Browse files
committed
ci: add asan clang Linux job
1 parent fa3a347 commit a4cf335

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

.github/workflows/ci.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
latest-factors: |
4343
msvc Optimized-Debug
4444
gcc UBSan Coverage
45-
clang UBSan
45+
clang UBSan ASan
4646
apple-clang UBSan ASan
4747
factors: ''
4848
runs-on: |
@@ -76,9 +76,11 @@ jobs:
7676
llvm-root: ../third-party/llvm-project/install
7777
llvm-archive-extension: {{#if (ieq os 'windows') }}7z{{else}}tar.bz2{{/if}}
7878
llvm-archive-filename: {{{ llvm-archive-basename }}}.{{{ llvm-archive-extension }}}
79-
llvm-sanitizer-config: {{#if (or (ne compiler 'clang') (ne compiler 'apple-clang'))}}{{else if ubsan}}Undefined{{else if asan}}Address{{/if}}
80-
mrdocs-ccflags: {{{ ccflags }}} {{#if (and (eq compiler 'gcc') (not asan)) }}-static{{/if}}
81-
mrdocs-cxxflags: {{{ cxxflags }}} {{#if (and (eq compiler 'gcc') (not asan)) }}-static{{/if}}
79+
llvm-sanitizer-config: {{#if (and (ne compiler 'clang') (ne compiler 'apple-clang'))}}{{else if ubsan}}Undefined{{else if asan}}Address{{else if msan}}MemoryWithOrigins{{/if}}
80+
mrdocs-flags: {{#if (and (eq compiler 'gcc') (not asan)) }}-static{{/if}}{{#if (and (eq compiler 'clang') msan) }}-fsanitize-memory-track-origins{{/if}}
81+
mrdocs-ccflags: {{{ ccflags }}} {{{ mrdocs-flags }}}
82+
mrdocs-cxxflags: {{{ cxxflags }}} {{{ mrdocs-flags }}}
83+
mrdocs-linkflags: {{#if asan }}-fsanitize=address{{/if}}
8284
mrdocs-package-generators: {{#if (ieq os 'windows') }}7Z ZIP WIX{{else}}TGZ TXZ{{/if}}
8385
mrdocs-release-package-artifact: release-packages-{{{ lowercase os }}}
8486
output-file: matrix.json
@@ -260,6 +262,7 @@ jobs:
260262
fi
261263
262264
- name: Install LLVM
265+
id: install_llvm
263266
uses: alandefreitas/cpp-actions/[email protected]
264267
if: steps.llvm-cache.outputs.cache-hit != 'true' && steps.llvm-download.outputs.found != 'true'
265268
with:
@@ -279,12 +282,20 @@ jobs:
279282
-DLLVM_USE_SANITIZER=${{ matrix.llvm-sanitizer-config }}
280283
cc: ${{ steps.setup-cpp.outputs.cc }}
281284
cxx: ${{ steps.setup-cpp.outputs.cxx }}
285+
ccflags: -gz=zstd
286+
cxxflags: -gz=zstd
282287
generator: Ninja
283288
install: true
284289
install-prefix: ${sourceDir}/../install
285290
run-tests: false
286291
trace-commands: true
287292

293+
- name: Remove LLVM build-dir
294+
uses: JesseTG/[email protected]
295+
if: steps.install_llvm.outcome == 'success'
296+
with:
297+
path: ${sourceDir}/llvm/build
298+
288299
- name: Install Duktape
289300
uses: alandefreitas/cpp-actions/[email protected]
290301
with:
@@ -378,6 +389,7 @@ jobs:
378389
install-prefix: .local
379390
extra-args: |
380391
-D MRDOCS_BUILD_DOCS=OFF
392+
-D CMAKE_EXE_LINKER_FLAGS=${{ matrix.mrdocs-linkflags }}
381393
-D LLVM_ROOT=${{ steps.resolve-third-party-dir.outputs.third-party-dir }}/llvm-project/install
382394
-D Clang_ROOT=${{ steps.resolve-third-party-dir.outputs.third-party-dir }}/llvm-project/install
383395
-D duktape_ROOT=${{ steps.resolve-third-party-dir.outputs.third-party-dir }}/duktape/install

0 commit comments

Comments
 (0)