summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Flynn <trflynn89@pm.me>2021-09-21 06:42:35 -0400
committerIdan Horowitz <idan.horowitz@gmail.com>2021-09-21 15:39:17 +0300
commit4a4e614387beead8c163189f0376e8bc480920ee (patch)
treef398d17f579522e63cae6766cb35a3cb982054a5
parent5a2f41fff079040852f3ba8fe7bedeb17b50e734 (diff)
downloadserenity-4a4e614387beead8c163189f0376e8bc480920ee.zip
CI: Set ccache path based on template parameter
Currently, the templated steps in Caches.yml rely on the environment variable CCACHE_DIR being set to configure the ccache location. To prepare for multiple ccache paths, do not rely on this environment variable because only one ccache can use it at a time. Instead, pass the path into the template as a parameter.
-rw-r--r--Meta/Azure/Caches.yml11
-rw-r--r--Meta/Azure/Lagom.yml10
-rw-r--r--Meta/Azure/Serenity.yml9
3 files changed, 21 insertions, 9 deletions
diff --git a/Meta/Azure/Caches.yml b/Meta/Azure/Caches.yml
index f65fd2a739..1351a895ce 100644
--- a/Meta/Azure/Caches.yml
+++ b/Meta/Azure/Caches.yml
@@ -4,6 +4,7 @@ parameters:
toolchain: 'gcc'
build_directory: ''
ccache_version: 1 # Increment this number if CI has trouble with ccache.
+ serenity_ccache_path: $(CCACHE_DIR)
with_unicode_caches: true
steps:
@@ -30,8 +31,8 @@ steps:
key: '"ccache" | "${{ parameters.os }}" | "${{ parameters.arch }}" | "${{ parameters.toolchain }}" | "${{ parameters.ccache_version }}" | "$(timestamp)"'
restoreKeys: |
"ccache" | "${{ parameters.os }}" | "${{ parameters.arch }}" | "${{ parameters.toolchain }}" | "${{ parameters.ccache_version }}"
- path: $(CCACHE_DIR)
- displayName: 'Compiler Cache'
+ path: ${{ parameters.serenity_ccache_path }}
+ displayName: 'Serenity Compiler Cache'
- ${{ if eq(parameters.with_unicode_caches, true) }}:
- task: Cache@2
@@ -47,6 +48,6 @@ steps:
displayName: 'UnicodeLocale Cache'
- script: |
- ccache -M 5G
- ccache -s
- displayName: 'Configure ccache'
+ CCACHE_DIR=${{ parameters.serenity_ccache_path }} ccache -M 5G
+ CCACHE_DIR=${{ parameters.serenity_ccache_path }} ccache -s
+ displayName: 'Configure Serenity ccache'
diff --git a/Meta/Azure/Lagom.yml b/Meta/Azure/Lagom.yml
index c5ad99586d..22b9ec7d0a 100644
--- a/Meta/Azure/Lagom.yml
+++ b/Meta/Azure/Lagom.yml
@@ -7,7 +7,7 @@ jobs:
- job: 'Lagom_${{ parameters.os }}_${{ parameters.fuzzer }}'
variables:
- - name: CCACHE_DIR
+ - name: SERENITY_CCACHE_DIR
value: $(Build.SourcesDirectory)/.ccache
- name: job_pool
@@ -36,6 +36,7 @@ jobs:
arch: 'Lagom'
toolchain: '$(toolchain)'
build_directory: 'Meta/Lagom/Build'
+ serenity_ccache_path: '$(SERENITY_CCACHE_DIR)'
${{ if eq(parameters.fuzzer, 'Fuzz') }}:
with_unicode_caches: false
${{ if eq(parameters.fuzzer, 'NoFuzz') }}:
@@ -59,6 +60,8 @@ jobs:
..
displayName: 'Create Build Environment'
workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build
+ env:
+ CCACHE_DIR: '$(SERENITY_CCACHE_DIR)'
- ${{ if eq(parameters.fuzzer, 'NoFuzz') }}:
- script: |
cmake -GNinja \
@@ -77,11 +80,14 @@ jobs:
workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build
env:
PATH: '$(PATH):$(Build.SourcesDirectory)/wabt-1.0.23/bin'
+ CCACHE_DIR: '$(SERENITY_CCACHE_DIR)'
- script: |
cmake --build .
displayName: 'Build'
workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build
+ env:
+ CCACHE_DIR: '$(SERENITY_CCACHE_DIR)'
- ${{ if eq(parameters.fuzzer, 'NoFuzz') }}:
- script: |
@@ -96,5 +102,5 @@ jobs:
UBSAN_OPTIONS: 'print_stacktrace=1:print_summary=1:halt_on_error=1'
- script: |
- ccache -s
+ CCACHE_DIR='$(SERENITY_CCACHE_DIR)' ccache -s
displayName: 'Cache Stats'
diff --git a/Meta/Azure/Serenity.yml b/Meta/Azure/Serenity.yml
index 04f3af3281..bb12cea201 100644
--- a/Meta/Azure/Serenity.yml
+++ b/Meta/Azure/Serenity.yml
@@ -6,7 +6,7 @@ jobs:
timeoutInMinutes: 0 # Setting to 0 means the maximum allowed timeout is used.
variables:
- - name: CCACHE_DIR
+ - name: SERENITY_CCACHE_DIR
value: $(Build.SourcesDirectory)/.ccache
pool:
@@ -22,6 +22,7 @@ jobs:
arch: '${{ parameters.arch }}'
toolchain: 'clang'
build_directory: 'Build/${{ parameters.arch }}clang'
+ serenity_ccache_path: '$(SERENITY_CCACHE_DIR)'
- script: ./Toolchain/BuildClang.sh
displayName: Build Toolchain
@@ -44,11 +45,15 @@ jobs:
-DCMAKE_CXX_COMPILER=g++-10
displayName: 'Create Build Environment'
workingDirectory: $(Build.SourcesDirectory)
+ env:
+ CCACHE_DIR: '$(SERENITY_CCACHE_DIR)'
- script: |
cmake --build ./Build/superbuild
displayName: 'Build'
workingDirectory: $(Build.SourcesDirectory)
+ env:
+ CCACHE_DIR: '$(SERENITY_CCACHE_DIR)'
- script: |
ninja install && ninja image
@@ -86,5 +91,5 @@ jobs:
condition: failed()
- script: |
- ccache -s
+ CCACHE_DIR='$(SERENITY_CCACHE_DIR)' ccache -s
displayName: 'Cache Stats'