Files
ladybird/Meta/Azure/Lagom.yml
Timothy Flynn 3127454642 CI: Skip Unicode caches for Fuzzer build
There is a bit of a race here between the Fuzzer and non-Fuzzer Lagom
builds. If the Unicode caches are empty, and the Fuzzer build completes
first, then the UCD and CLDR directories will be empty or won't exist.
Skip handling the Unicode caches for this build.
2021-08-26 22:04:09 +01:00

101 lines
3.1 KiB
YAML

parameters:
os: 'Linux'
fuzzer: 'NoFuzz'
allow_test_failures: 'NoFuzz'
jobs:
- job: 'Lagom_${{ parameters.os }}_${{ parameters.fuzzer }}'
variables:
- name: CCACHE_DIR
value: $(Build.SourcesDirectory)/.ccache
- name: job_pool
${{ if eq(parameters.os, 'Linux') }}:
value: ubuntu-20.04
${{ 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)
steps:
- template: Setup.yml
parameters:
os: '${{ parameters.os }}'
- template: Caches.yml
parameters:
os: '${{ parameters.os }}'
arch: 'Lagom'
toolchain: '$(toolchain)'
build_directory: 'Meta/Lagom/Build'
${{ if eq(parameters.fuzzer, 'Fuzz') }}:
with_unicode_caches: false
${{ if eq(parameters.fuzzer, 'NoFuzz') }}:
with_unicode_caches: true
- script: |
mkdir -p Meta/Lagom/Build
displayName: 'Create Build Directory'
- ${{ 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
- ${{ 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
displayName: 'Cache Stats'