mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-14 01:04:38 +03:00
CI: Build Lagom with fuzzing on Azure
This commit is contained in:
parent
9fd2f97d27
commit
e3d4778a63
Notes:
sideshowbarker
2024-07-18 05:34:53 +09:00
Author: https://github.com/trflynn89 Commit: https://github.com/SerenityOS/serenity/commit/e3d4778a63e Pull-request: https://github.com/SerenityOS/serenity/pull/9473
@ -1,20 +1,27 @@
|
||||
parameters:
|
||||
os: 'Linux'
|
||||
allow_test_failures: false
|
||||
fuzzer: 'NoFuzz'
|
||||
allow_test_failures: 'NoFuzz'
|
||||
|
||||
jobs:
|
||||
- job: 'Lagom_${{ parameters.os }}'
|
||||
- job: 'Lagom_${{ parameters.os }}_${{ parameters.fuzzer }}'
|
||||
|
||||
variables:
|
||||
- name: CCACHE_DIR
|
||||
value: $(Build.SourcesDirectory)/.ccache
|
||||
- ${{ if eq(parameters.os, 'Linux') }}:
|
||||
- name: job_pool
|
||||
|
||||
- name: job_pool
|
||||
${{ if eq(parameters.os, 'Linux') }}:
|
||||
value: ubuntu-20.04
|
||||
- ${{ if eq(parameters.os, 'macOS') }}:
|
||||
- name: job_pool
|
||||
${{ if eq(parameters.os, 'macOS') }}:
|
||||
value: macos-10.15
|
||||
|
||||
- name: toolchain
|
||||
${{ if eq(parameters.fuzzer, 'Fuzz') }}:
|
||||
value: clang
|
||||
${{ if eq(parameters.fuzzer, 'NoFuzz') }}:
|
||||
value: gcc
|
||||
|
||||
pool:
|
||||
vmImage: $(job_pool)
|
||||
|
||||
@ -27,46 +34,62 @@ jobs:
|
||||
parameters:
|
||||
os: '${{ parameters.os }}'
|
||||
arch: 'Lagom'
|
||||
toolchain: 'gcc'
|
||||
toolchain: '$(toolchain)'
|
||||
build_directory: 'Meta/Lagom/Build'
|
||||
|
||||
- script: |
|
||||
mkdir -p Meta/Lagom/Build
|
||||
displayName: 'Create Build Directory'
|
||||
|
||||
- script: |
|
||||
cmake -GNinja \
|
||||
-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-10 \
|
||||
-DCMAKE_CXX_COMPILER=g++-10 \
|
||||
..
|
||||
displayName: 'Create Build Environment'
|
||||
workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build
|
||||
env:
|
||||
PATH: '$(PATH):$(Build.SourcesDirectory)/wabt-1.0.23/bin'
|
||||
- ${{ if eq(parameters.fuzzer, 'Fuzz') }}:
|
||||
- script: |
|
||||
cmake -GNinja \
|
||||
-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++ \
|
||||
..
|
||||
displayName: 'Create Build Environment'
|
||||
workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build
|
||||
- ${{ if eq(parameters.fuzzer, 'NoFuzz') }}:
|
||||
- script: |
|
||||
cmake -GNinja \
|
||||
-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-10 \
|
||||
-DCMAKE_CXX_COMPILER=g++-10 \
|
||||
..
|
||||
displayName: 'Create Build Environment'
|
||||
workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build
|
||||
env:
|
||||
PATH: '$(PATH):$(Build.SourcesDirectory)/wabt-1.0.23/bin'
|
||||
|
||||
- script: |
|
||||
cmake --build .
|
||||
displayName: 'Build'
|
||||
workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build
|
||||
|
||||
- script: |
|
||||
ninja test || ${{ parameters.allow_test_failures }}
|
||||
displayName: 'Test'
|
||||
workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build
|
||||
env:
|
||||
SERENITY_SOURCE_DIR: '$(Build.SourcesDirectory)'
|
||||
CTEST_OUTPUT_ON_FAILURE: 1
|
||||
# FIXME: enable detect_stack_use_after_return=1 #7420
|
||||
ASAN_OPTIONS: 'strict_string_checks=1:check_initialization_order=1:strict_init_order=1'
|
||||
UBSAN_OPTIONS: 'print_stacktrace=1:print_summary=1:halt_on_error=1'
|
||||
- ${{ if eq(parameters.fuzzer, 'NoFuzz') }}:
|
||||
- script: |
|
||||
ninja test || ${{ parameters.allow_test_failures }}
|
||||
displayName: 'Test'
|
||||
workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build
|
||||
env:
|
||||
SERENITY_SOURCE_DIR: '$(Build.SourcesDirectory)'
|
||||
CTEST_OUTPUT_ON_FAILURE: 1
|
||||
# FIXME: enable detect_stack_use_after_return=1 #7420
|
||||
ASAN_OPTIONS: 'strict_string_checks=1:check_initialization_order=1:strict_init_order=1'
|
||||
UBSAN_OPTIONS: 'print_stacktrace=1:print_summary=1:halt_on_error=1'
|
||||
|
||||
- script: |
|
||||
ccache -s
|
||||
|
@ -6,6 +6,11 @@ jobs:
|
||||
parameters:
|
||||
os: 'Linux'
|
||||
|
||||
- template: Meta/Azure/Lagom.yml
|
||||
parameters:
|
||||
os: 'Linux'
|
||||
fuzzer: 'Fuzz'
|
||||
|
||||
- template: Meta/Azure/Lagom.yml
|
||||
parameters:
|
||||
os: 'macOS'
|
||||
|
Loading…
Reference in New Issue
Block a user