diff options
author | Timothy Flynn <trflynn89@pm.me> | 2021-09-21 06:42:35 -0400 |
---|---|---|
committer | Idan Horowitz <idan.horowitz@gmail.com> | 2021-09-21 15:39:17 +0300 |
commit | 4a4e614387beead8c163189f0376e8bc480920ee (patch) | |
tree | f398d17f579522e63cae6766cb35a3cb982054a5 | |
parent | 5a2f41fff079040852f3ba8fe7bedeb17b50e734 (diff) | |
download | serenity-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.yml | 11 | ||||
-rw-r--r-- | Meta/Azure/Lagom.yml | 10 | ||||
-rw-r--r-- | Meta/Azure/Serenity.yml | 9 |
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' |