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 }}