1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-30 03:37:36 +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

@ -8,10 +8,6 @@ jobs:
variables:
- name: SERENITY_CCACHE_DIR
value: $(Build.SourcesDirectory)/.ccache
- name: LLVM_CCACHE_DIR
value: $(Build.SourcesDirectory)/Toolchain/.ccache
- name: LLVM_CCACHE_MAXSIZE
value: 20GB
pool:
vmImage: ubuntu-20.04
@ -27,14 +23,11 @@ jobs:
toolchain: 'clang'
build_directory: 'Build/${{ parameters.arch }}clang'
serenity_ccache_path: '$(SERENITY_CCACHE_DIR)'
toolchain_ccache_path: '$(LLVM_CCACHE_DIR)'
toolchain_ccache_size: '$(LLVM_CCACHE_MAXSIZE)'
- script: ./Toolchain/BuildClang.sh --ci
displayName: Build Toolchain
- script: ./Toolchain/BuildClang.sh
displayName: Extract Toolchain
env:
TRY_USE_LOCAL_TOOLCHAIN: 'y'
ARCH: '${{ parameters.arch }}'
- script: |
mkdir -p Build/superbuild