Skip to content

Commit 609a4fe

Browse files
committed
Use ccache on Linux and macOS CI
Apparently Visual Studio is a work-in-progress.
1 parent 18f0945 commit 609a4fe

File tree

3 files changed

+40
-2
lines changed

3 files changed

+40
-2
lines changed

build/ci/cache.yml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
parameters:
2+
toolchain: 'clang'
3+
mode: 'debug'
4+
arch: 'x64'
5+
6+
steps:
7+
- task: Cache@2
8+
inputs:
9+
key: 'ccache | "${{ parameters.toolchain }}" | "${{ parameters.mode }}" | "${{ parameters.arch }}"'
10+
restoreKeys: |
11+
ccache | "${{ parameters.toolchain }}" | "${{ parameters.mode }}" | "${{ parameters.arch }}"
12+
path: $(CCACHE_DIR)
13+
displayName: 'Compiler Cache'
14+
15+
- script: |
16+
ccache -M 5G
17+
ccache -s
18+
displayName: 'Configure Compiler Cache'

build/ci/linux.yml

+11-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ parameters:
77
jobs:
88
- job: 'Linux_${{ parameters.toolchain }}_${{ parameters.mode }}_${{ parameters.arch }}'
99

10+
variables:
11+
- name: CCACHE_DIR
12+
value: $(Build.SourcesDirectory)/ccache
13+
1014
pool:
1115
vmImage: ubuntu-20.04
1216

@@ -17,13 +21,19 @@ jobs:
1721
steps:
1822
- template: setup.yml
1923

24+
- template: cache.yml
25+
parameters:
26+
toolchain: ${{ parameters.toolchain }}
27+
mode: ${{ parameters.mode }}
28+
arch: ${{ parameters.arch }}
29+
2030
- ${{ if eq(parameters.mode, 'release') }}:
2131
- script: |
2232
make style check=1
2333
displayName: 'Style'
2434
2535
- script: |
26-
echo "##vso[task.setvariable variable=config]mode=${{ parameters.mode }} toolchain=${{ parameters.toolchain }} arch=${{ parameters.arch }} coverage=${{ parameters.coverage }}"
36+
echo "##vso[task.setvariable variable=config]mode=${{ parameters.mode }} toolchain=${{ parameters.toolchain }} arch=${{ parameters.arch }} cacher=ccache coverage=${{ parameters.coverage }}"
2737
displayName: 'Configure'
2838
2939
- ${{ if eq(parameters.mode, 'debug') }}:

build/ci/macos.yml

+11-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ parameters:
44
jobs:
55
- job: 'macOS_${{ parameters.mode }}'
66

7+
variables:
8+
- name: CCACHE_DIR
9+
value: $(Build.SourcesDirectory)/ccache
10+
711
pool:
812
vmImage: macOS-10.15
913

@@ -14,8 +18,14 @@ jobs:
1418
1519
- template: setup.yml
1620

21+
- template: cache.yml
22+
parameters:
23+
toolchain: ${{ parameters.toolchain }}
24+
mode: ${{ parameters.mode }}
25+
arch: ${{ parameters.arch }}
26+
1727
- script: |
18-
echo "##vso[task.setvariable variable=config]mode=${{ parameters.mode }}"
28+
echo "##vso[task.setvariable variable=config]mode=${{ parameters.mode }} cacher=ccache"
1929
displayName: 'Configure'
2030
2131
- ${{ if eq(parameters.mode, 'debug') }}:

0 commit comments

Comments
 (0)