summaryrefslogtreecommitdiff
path: root/Meta/Azure/Lagom.yml
diff options
context:
space:
mode:
authorAndrew Kaster <akaster@serenityos.org>2022-02-19 16:09:40 -0700
committerLinus Groh <mail@linusgroh.de>2022-02-20 19:04:59 +0000
commit0c95d9962cbae11e9c26ba0984dc6080bf1b93a5 (patch)
tree9f216413f8b3778954c5eaed2394560a53537d7f /Meta/Azure/Lagom.yml
parentbfa4bc6f2d415a3ffebfd6043df4a7d2256a5144 (diff)
downloadserenity-0c95d9962cbae11e9c26ba0984dc6080bf1b93a5.zip
Lagom: Add two-stage build for Fuzzers to enable fuzzing generated code
This allows us to fuzz the generated unicode and timezone database helpers, and to fuzz things like LibJS using Fuzzilli to get proper coverage of our unicode handling code. Update the Azure CI to use the new two-stage build as well, and cleanup some unused CMake options there.
Diffstat (limited to 'Meta/Azure/Lagom.yml')
-rw-r--r--Meta/Azure/Lagom.yml26
1 files changed, 11 insertions, 15 deletions
diff --git a/Meta/Azure/Lagom.yml b/Meta/Azure/Lagom.yml
index 5366468612..5fbe64de1e 100644
--- a/Meta/Azure/Lagom.yml
+++ b/Meta/Azure/Lagom.yml
@@ -43,42 +43,38 @@ jobs:
${{ if eq(parameters.fuzzer, 'NoFuzz') }}:
with_remote_data_caches: true
- - script: |
- mkdir -p Meta/Lagom/Build
- displayName: 'Create Build Directory'
-
- ${{ if eq(parameters.fuzzer, 'Fuzz') }}:
- script: |
- cmake -GNinja \
+ cmake -GNinja -B tools-build \
+ -DBUILD_LAGOM=OFF \
+ -DENABLE_LAGOM_CCACHE=ON \
+ -DCMAKE_INSTALL_PREFIX=tool-install
+ ninja -C tools-build install
+ cmake -GNinja -B Build \
-DBUILD_LAGOM=ON \
-DENABLE_LAGOM_CCACHE=ON \
-DENABLE_FUZZER_SANITIZER=ON \
-DENABLE_ADDRESS_SANITIZER=ON \
- -DENABLE_PCI_IDS_DOWNLOAD=OFF \
- -DENABLE_USB_IDS_DOWNLOAD=OFF \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
- ..
+ -DCMAKE_PREFIX_PATH=tool-install
displayName: 'Create Build Environment'
- workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build
+ workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom
env:
CCACHE_DIR: '$(SERENITY_CCACHE_DIR)'
- ${{ if eq(parameters.fuzzer, 'NoFuzz') }}:
- script: |
- cmake -GNinja \
+ cmake -GNinja -B Build \
-DBUILD_LAGOM=ON \
-DENABLE_LAGOM_CCACHE=ON \
-DINCLUDE_WASM_SPEC_TESTS=ON \
-DWASM_SPEC_TEST_SKIP_FORMATTING=ON \
-DENABLE_UNDEFINED_SANITIZER=ON \
-DENABLE_ADDRESS_SANITIZER=ON \
- -DENABLE_PCI_IDS_DOWNLOAD=OFF \
- -DENABLE_USB_IDS_DOWNLOAD=OFF \
-DCMAKE_C_COMPILER=gcc-11 \
- -DCMAKE_CXX_COMPILER=g++-11 \
- ..
+ -DCMAKE_CXX_COMPILER=g++-11
displayName: 'Create Build Environment'
- workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build
+ workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom
env:
PATH: '$(PATH):$(Build.SourcesDirectory)/wabt-1.0.23/bin'
CCACHE_DIR: '$(SERENITY_CCACHE_DIR)'