mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-21 23:20:20 +00:00
CI: Test using Clang for ASAN+UBSAN on Linux, add nightly GCC job
Clang builds of ASAN+UBSAN on Linux take significantly less time on the Azure CI runners. Measured times were 82 minutes for Clang 18 and 112 minutes for GCC 13, with no cache. To keep our coverage of Ladybird builds + testing with GCC, add a nightly job to run through the full test cycle on GCC 13.
This commit is contained in:
parent
5f088f3233
commit
7b06417ccf
Notes:
sideshowbarker
2024-07-17 07:43:44 +09:00
Author: https://github.com/ADKaster Commit: https://github.com/SerenityOS/serenity/commit/7b06417ccf Pull-request: https://github.com/SerenityOS/serenity/pull/24087 Reviewed-by: https://github.com/trflynn89 ✅
3 changed files with 24 additions and 10 deletions
|
@ -2,6 +2,8 @@ parameters:
|
|||
os: 'Linux'
|
||||
fuzzer: 'NoFuzz'
|
||||
lagom_lints: false
|
||||
host_cc: 'cc'
|
||||
host_cxx: 'cxx'
|
||||
|
||||
jobs:
|
||||
- job: 'Lagom_${{ parameters.os }}_${{ parameters.fuzzer }}'
|
||||
|
@ -19,21 +21,15 @@ jobs:
|
|||
|
||||
- name: toolchain
|
||||
${{ if eq(parameters.fuzzer, 'Fuzz') }}:
|
||||
value: clang
|
||||
value: '${{ parameters.host_cc }}_Fuzz'
|
||||
${{ if eq(parameters.fuzzer, 'NoFuzz') }}:
|
||||
value: gcc
|
||||
value: '${{ parameters.host_cc }}'
|
||||
|
||||
- name: host-cc
|
||||
${{ if eq(parameters.os, 'macOS') }}:
|
||||
value: $(brew --prefix llvm@18)/bin/clang
|
||||
${{ if not(eq(parameters.os, 'macOS')) }}:
|
||||
value: gcc-13
|
||||
value: '${{ parameters.host_cc }}'
|
||||
|
||||
- name: host-cxx
|
||||
${{ if eq(parameters.os, 'macOS') }}:
|
||||
value: $(brew --prefix llvm@18)/bin/clang++
|
||||
${{ if not(eq(parameters.os, 'macOS')) }}:
|
||||
value: g++-13
|
||||
value: '${{ parameters.host_cxx }}'
|
||||
|
||||
- name: ndk_version # only relevant for Android
|
||||
value: '25.2.9519653'
|
||||
|
@ -102,6 +98,8 @@ jobs:
|
|||
-DBUILD_LAGOM=OFF \
|
||||
-DENABLE_LAGOM_CCACHE=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=tool-install \
|
||||
-DCMAKE_C_COMPILER=$(host-cc) \
|
||||
-DCMAKE_CXX_COMPILER=$(host-cxx) \
|
||||
-Dpackage=LagomTools
|
||||
ninja -C tools-build install
|
||||
cmake -GNinja -B Build \
|
||||
|
|
|
@ -26,3 +26,13 @@ stages:
|
|||
- template: Lagom.yml
|
||||
parameters:
|
||||
os: 'Android'
|
||||
|
||||
- stage: Lagom_GCC
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: Lagom.yml
|
||||
parameters:
|
||||
os: 'Linux'
|
||||
fuzzer: 'NoFuzz'
|
||||
host_cc: 'gcc-13'
|
||||
host_cxx: 'g++-13'
|
||||
|
|
|
@ -13,15 +13,21 @@ stages:
|
|||
parameters:
|
||||
os: 'Linux'
|
||||
lagom_lints: true
|
||||
host_cc: 'clang-18'
|
||||
host_cxx: 'clang++-18'
|
||||
|
||||
- template: Meta/Azure/Lagom.yml
|
||||
parameters:
|
||||
os: 'Linux'
|
||||
fuzzer: 'Fuzz'
|
||||
host_cc: 'gcc-13'
|
||||
host_cxx: 'g++-13'
|
||||
|
||||
- template: Meta/Azure/Lagom.yml
|
||||
parameters:
|
||||
os: 'macOS'
|
||||
host_cc: '$(brew --prefix llvm@18)/bin/clang'
|
||||
host_cxx: '$(brew --prefix llvm@18)/bin/clang++'
|
||||
|
||||
- stage: SerenityOS
|
||||
dependsOn: []
|
||||
|
|
Loading…
Reference in a new issue