Files
ladybird/.github/workflows/ci.yml
Timothy Flynn a238894e53 CI: Move the flatpak build steps to their own job
This is entirely a GitHub limitation. But I have found myself wanting to
rerun flaky CI tests, but have to wait some time for the flatpak builder
to complete. Moving this to its own job means we don't need to wait to
restart other CI jobs.
2026-02-26 10:33:10 -05:00

77 lines
2.3 KiB
YAML

name: CI
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || format('{0}-{1}', github.ref, github.run_number) }}
cancel-in-progress: true
jobs:
# CI matrix - runs the job in lagom-template.yml with different configurations.
Lagom:
if: github.repository == 'LadybirdBrowser/ladybird'
name: ${{ matrix.os_name }}, ${{ matrix.arch }}, ${{ matrix.build_preset }}, ${{ matrix.toolchain }}
strategy:
fail-fast: false
matrix:
os_name: ['Linux']
arch: ['x86_64']
build_preset: ['Sanitizer']
toolchain: ['GNU']
clang_plugins: [false]
runner_labels: ['["blacksmith-16vcpu-ubuntu-2404"]']
include:
- os_name: 'Linux'
arch: 'x86_64'
build_preset: 'Sanitizer'
toolchain: 'Clang'
clang_plugins: true
runner_labels: '["blacksmith-16vcpu-ubuntu-2404"]'
- os_name: 'macOS'
arch: 'arm64'
build_preset: 'Sanitizer'
toolchain: 'Clang'
clang_plugins: false
runner_labels: '["macos-15", "self-hosted"]'
- os_name: 'Linux'
arch: 'arm64'
build_preset: 'Sanitizer'
toolchain: 'Clang'
clang_plugins: false
runner_labels: '["blacksmith-16vcpu-ubuntu-2404-arm"]'
- os_name: 'Linux'
arch: 'x86_64'
build_preset: 'Fuzzers'
toolchain: 'Clang'
clang_plugins: false
runner_labels: '["blacksmith-16vcpu-ubuntu-2404"]'
- os_name: 'Linux'
arch: 'x86_64'
build_preset: 'All_Debug'
toolchain: 'Clang'
clang_plugins: false
runner_labels: '["blacksmith-16vcpu-ubuntu-2404"]'
- os_name: 'Windows'
arch: 'x86_64'
build_preset: 'Sanitizer'
toolchain: 'ClangCL'
clang_plugins: false
runner_labels: '["blacksmith-16vcpu-windows-2025"]'
secrets: inherit
uses: ./.github/workflows/lagom-template.yml
with:
toolchain: ${{ matrix.toolchain }}
os_name: ${{ matrix.os_name }}
runner_labels: ${{ matrix.runner_labels }}
arch: ${{ matrix.arch }}
build_preset: ${{ matrix.build_preset }}
clang_plugins: ${{ matrix.clang_plugins }}