From b9d630edbc5091c4bbe5946511d23da17a51bf09 Mon Sep 17 00:00:00 2001 From: Jelle Raaijmakers Date: Fri, 20 Jun 2025 16:01:09 +0200 Subject: [PATCH] CI: Trigger Windows build on PR label 'windows' Our CI matrix now includes Windows if the 'windows' label is added to the PR. The job still takes too long to include it for every PR, but it is certainly useful to have it run on Windows-specific PRs and PRs that might break Windows builds. --- .github/workflows/ci.yml | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index df29187b46d..327d3b3646a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,13 @@ name: CI -on: [push, pull_request] +on: + push: + pull_request: + types: + - opened + - synchronize + - reopened + - labeled concurrency: group: ${{ github.workflow }}-${{ github.head_ref || format('{0}-{1}', github.ref, github.run_number) }} @@ -9,7 +16,9 @@ concurrency: jobs: # CI matrix - runs the job in lagom-template.yml with different configurations. Lagom: - if: github.repository == 'LadybirdBrowser/ladybird' + if: | + github.repository == 'LadybirdBrowser/ladybird' + && (github.event_name != 'pull_request' || github.event.action != 'labeled' || github.event.label.name == 'windows') name: ${{ matrix.os_name }}, ${{ matrix.arch }}, ${{ matrix.build_preset }}, ${{ matrix.toolchain }} strategy: @@ -44,6 +53,17 @@ jobs: clang_plugins: false runner_labels: '["blacksmith-16vcpu-ubuntu-2404"]' + - os_name: 'Windows' + arch: 'x86_64' + build_preset: 'Windows_Sanitizer_CI' + toolchain: 'ClangCL' + clang_plugins: false + runner_labels: '["windows-2025"]' + + exclude: + # Exclude the Windows build from the matrix if the PR is not labeled with 'windows'. + - os_name: ${{ !contains(github.event.pull_request.labels.*.name, 'windows') && 'Windows' }} + uses: ./.github/workflows/lagom-template.yml with: toolchain: ${{ matrix.toolchain }}