1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-29 04:17:35 +00:00

CI: Build the Clang toolchain a single time for both onboard pipelines

As of the Clang 13 upgrade, we only need to build the toolchain once and
can use that toolchain for both x86_64 and i686. To do this, this breaks
the main Azure configuration into 3 "stages" (Lagom, Toolchain, and
Serenity), where the Serenity stage depends on the Toolchain stage.

This has the added benefit of uploading a new prebuilt toolchain cache
sooner than before, which should help alleviate pressure from PRs.
This commit is contained in:
Timothy Flynn 2021-10-17 12:45:04 -04:00 committed by Brian Gianforcaro
parent 957f98805a
commit b11a34330a
4 changed files with 95 additions and 51 deletions

View file

@ -4,26 +4,41 @@ trigger:
include:
- master
jobs:
- template: Meta/Azure/Lagom.yml
parameters:
os: 'Linux'
lagom_lints: true
stages:
- stage: Lagom
dependsOn: []
- template: Meta/Azure/Lagom.yml
parameters:
os: 'Linux'
fuzzer: 'Fuzz'
jobs:
- template: Meta/Azure/Lagom.yml
parameters:
os: 'Linux'
lagom_lints: true
- template: Meta/Azure/Lagom.yml
parameters:
os: 'macOS'
allow_test_failures: true
- template: Meta/Azure/Lagom.yml
parameters:
os: 'Linux'
fuzzer: 'Fuzz'
- template: Meta/Azure/Serenity.yml
parameters:
arch: 'i686'
- template: Meta/Azure/Lagom.yml
parameters:
os: 'macOS'
allow_test_failures: true
- template: Meta/Azure/Serenity.yml
parameters:
arch: 'x86_64'
- stage: Toolchain
dependsOn: []
jobs:
- template: Meta/Azure/Toolchain.yml
- stage: SerenityOS
dependsOn: Toolchain
jobs:
- template: Meta/Azure/Serenity.yml
parameters:
arch: 'i686'
- template: Meta/Azure/Serenity.yml
parameters:
arch: 'x86_64'