Meta: Update Windows Nightly CI to Windows 2025 Image with Sanitizers

Github Actions just updated windows-2025 to LLVM 20, which is the
minimum version required for us to build and run tests with sanitizers

Now that we've added support, enable the Sanitizer build in CI.
This commit is contained in:
ayeteadoe 2025-06-16 15:14:12 -06:00 committed by Andrew Kaster
commit 1893f89799
Notes: github-actions[bot] 2025-06-17 21:34:38 +00:00

View file

@ -19,7 +19,7 @@ jobs:
CI:
if: github.repository == 'LadybirdBrowser/ladybird'
runs-on: windows-2022
runs-on: windows-2025
steps:
- uses: actions/checkout@v4
@ -41,34 +41,48 @@ jobs:
uses: ./.github/actions/cache-restore
id: 'cache-restore'
with:
runner_labels: '["windows-2022"]'
runner_labels: '["windows-2025"]'
os: Windows
arch: x86_64
toolchain: ClangCL
cache_key_extra: Windows_CI
cache_key_extra: Windows_Sanitizer_CI
download_cache_path: ${{ github.workspace }}/Build/caches
vcpkg_cache_path: ${{ github.workspace }}/Build/caches/vcpkg-binary-cache
- name: Create Build Environment
working-directory: ${{ github.workspace }}
run: |
cmake --preset Windows_CI
cmake --preset Windows_Sanitizer_CI
- name: Build
working-directory: ${{ github.workspace }}
run: |
cmake --build --preset Windows_CI
cmake --build --preset Windows_Sanitizer_CI
- name: Save Caches
uses: ./.github/actions/cache-save
with:
runner_labels: '["windows-2022"]'
runner_labels: '["windows-2025"]'
arch: x86_64
vcpkg_cache_path: ${{ github.workspace }}/Build/caches/vcpkg-binary-cache
vcpkg_cache_primary_key: ${{ steps.cache-restore.outputs.vcpkg_cache_primary_key }}
- name: Test
working-directory: ${{ github.workspace }}
run: ctest --preset Windows_CI --timeout 1800
run: ctest --preset Windows_Sanitizer_CI --timeout 1800
env:
TESTS_ONLY: 1
ASAN_OPTIONS: 'log_path="${{ github.workspace }}\asan.log"'
UBSAN_OPTIONS: 'log_path="${{ github.workspace }}\ubsan.log"'
- name: Sanitizer Output
if: ${{ !cancelled() && inputs.build_preset == 'Windows_Sanitizer_CI' }}
working-directory: ${{ github.workspace }}
run: |
log_output=$(find . -maxdepth 1 \( -name 'asan.log.*' -o -name 'ubsan.log.*' \) -exec cat {} \; )
if [ -z "$log_output" ]; then
echo "No sanitizer issues found."
else
echo "$log_output"
echo "Sanitizer errors happened while running tests; see the Test step above."
fi