mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-02-08 16:55:01 +00:00
This prevents linters from covering the failure of previous linters by overwriting the error code that Azure reads at the end of the step.
120 lines
4.0 KiB
YAML
120 lines
4.0 KiB
YAML
parameters:
|
|
os: 'Linux'
|
|
fuzzer: 'NoFuzz'
|
|
lagom_lints: false
|
|
|
|
jobs:
|
|
- job: 'Lagom_${{ parameters.os }}_${{ parameters.fuzzer }}'
|
|
|
|
variables:
|
|
- name: SERENITY_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-11
|
|
|
|
- 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'
|
|
serenity_ccache_path: '$(SERENITY_CCACHE_DIR)'
|
|
${{ if eq(parameters.fuzzer, 'Fuzz') }}:
|
|
with_remote_data_caches: false
|
|
${{ 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 \
|
|
-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
|
|
env:
|
|
CCACHE_DIR: '$(SERENITY_CCACHE_DIR)'
|
|
- ${{ 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-11 \
|
|
-DCMAKE_CXX_COMPILER=g++-11 \
|
|
..
|
|
displayName: 'Create Build Environment'
|
|
workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build
|
|
env:
|
|
PATH: '$(PATH):$(Build.SourcesDirectory)/wabt-1.0.23/bin'
|
|
CCACHE_DIR: '$(SERENITY_CCACHE_DIR)'
|
|
|
|
- script: |
|
|
cmake --build .
|
|
displayName: 'Build'
|
|
workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build
|
|
env:
|
|
CCACHE_DIR: '$(SERENITY_CCACHE_DIR)'
|
|
|
|
- ${{ if eq(parameters.fuzzer, 'NoFuzz') }}:
|
|
- script: |
|
|
ninja test
|
|
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.lagom_lints, true) }}:
|
|
- script: |
|
|
set -e
|
|
./Meta/check-markdown.sh
|
|
git ls-files '*.ipc' | xargs ./Meta/Lagom/Build/Tools/IPCMagicLinter/IPCMagicLinter
|
|
displayName: 'Run lints that require Lagom'
|
|
workingDirectory: $(Build.SourcesDirectory)/
|
|
env:
|
|
MARKDOWN_CHECK_BINARY: ./Meta/Lagom/Build/markdown-check
|
|
# 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_DIR='$(SERENITY_CCACHE_DIR)' ccache -s
|
|
displayName: 'Cache Stats'
|