Skip to content

Commit f01d9c1

Browse files
committed
Add ccache support
1 parent eefe095 commit f01d9c1

File tree

1 file changed

+40
-22
lines changed

1 file changed

+40
-22
lines changed

.travis.yml

Lines changed: 40 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,16 @@ language: sh
1818
os: linux
1919
dist: focal
2020

21+
cache:
22+
pip: true
23+
ccache: true
24+
directories:
25+
# Cache arm-none-eabi compiler
26+
- ${HOME}/.cache/deps
27+
# It looks like ccache for arm-none-eabi is not yet supported by Travis.
28+
# Therefore manually adding ccache directory to cache
29+
- ${HOME}/.ccache
30+
2131
matrix:
2232
include:
2333

@@ -26,7 +36,7 @@ matrix:
2636
- &mbed-psa-compile-test
2737
stage: "Compile"
2838
name: "Compile PSA example - release (ARM_MUSCA_S1)"
29-
env: TARGET_NAME=ARM_MUSCA_S1 PROFILE=release
39+
env: TARGET_NAME=ARM_MUSCA_S1 PROFILE=release CACHE_NAME=release-ARM_MUSCA_S1
3040
language: python
3141
python: 3.8
3242
install:
@@ -37,6 +47,13 @@ matrix:
3747
- export PATH="$PATH:${PWD}/gcc-arm-none-eabi-9-2020-q2-update/bin"
3848
- popd
3949
- arm-none-eabi-gcc --version
50+
# Setup ccache
51+
- ccache -o compiler_check=content
52+
- pushd /usr/lib/ccache
53+
- sudo ln -s $(which ccache) arm-none-eabi-gcc
54+
- sudo ln -s $(which ccache) arm-none-eabi-g++
55+
- export PATH="/usr/lib/ccache:$PATH"
56+
- popd
4057
# Fetch mbed-os: We use manual clone, with depth=1 and --single-branch to save time.
4158
- git clone --depth=1 --single-branch https://github.com/ARMmbed/mbed-os.git;
4259
# Install Mbed CLI and dependencies
@@ -45,107 +62,108 @@ matrix:
4562
script:
4663
- echo mbed compile -t GCC_ARM -m ${TARGET_NAME} --profile ${PROFILE}
4764
- mbed compile -t GCC_ARM -m ${TARGET_NAME} --profile ${PROFILE}
65+
- ccache -s
4866

4967
- <<: *mbed-psa-compile-test
5068
name: "Compile PSA example - debug (ARM_MUSCA_S1)"
51-
env: TARGET_NAME=ARM_MUSCA_S1 PROFILE=debug
69+
env: TARGET_NAME=ARM_MUSCA_S1 PROFILE=debug CACHE_NAME=debug-ARM_MUSCA_S1
5270

5371
# ARM_MUSCA_B1
5472

5573
- <<: *mbed-psa-compile-test
5674
name: "Compile PSA example - release (ARM_MUSCA_B1)"
57-
env: TARGET_NAME=ARM_MUSCA_B1 PROFILE=release
75+
env: TARGET_NAME=ARM_MUSCA_B1 PROFILE=release CACHE_NAME=release-ARM_MUSCA_B1
5876

5977
- <<: *mbed-psa-compile-test
6078
name: "Compile PSA example - debug (ARM_MUSCA_B1)"
61-
env: TARGET_NAME=ARM_MUSCA_B1 PROFILE=debug
79+
env: TARGET_NAME=ARM_MUSCA_B1 PROFILE=debug CACHE_NAME=debug-ARM_MUSCA_B1
6280

6381
# K64F
6482

6583
- <<: *mbed-psa-compile-test
6684
name: "Compile PSA example - release (K64F)"
67-
env: TARGET_NAME=K64F PROFILE=release
85+
env: TARGET_NAME=K64F PROFILE=release CACHE_NAME=release-K64F
6886

6987
- <<: *mbed-psa-compile-test
7088
name: "Compile PSA example - debug (K64F)"
71-
env: TARGET_NAME=K64F PROFILE=debug
89+
env: TARGET_NAME=K64F PROFILE=debug CACHE_NAME=debug-K64F
7290

7391
# K66F
7492

7593
- <<: *mbed-psa-compile-test
7694
name: "Compile PSA example - release (K66F)"
77-
env: TARGET_NAME=K66F PROFILE=release
95+
env: TARGET_NAME=K66F PROFILE=release CACHE_NAME=release-K66F
7896

7997
- <<: *mbed-psa-compile-test
8098
name: "Compile PSA example - debug (K66F)"
81-
env: TARGET_NAME=K66F PROFILE=debug
99+
env: TARGET_NAME=K66F PROFILE=debug CACHE_NAME=debug-K66F
82100

83101
# NUCLEO_F429ZI
84102

85103
- <<: *mbed-psa-compile-test
86104
name: "Compile PSA example - release (NUCLEO_F429ZI)"
87-
env: TARGET_NAME=NUCLEO_F429ZI PROFILE=release
105+
env: TARGET_NAME=NUCLEO_F429ZI PROFILE=release CACHE_NAME=release-NUCLEO_F429ZI
88106

89107
- <<: *mbed-psa-compile-test
90108
name: "Compile PSA example - debug (NUCLEO_F429ZI)"
91-
env: TARGET_NAME=NUCLEO_F429ZI PROFILE=debug
109+
env: TARGET_NAME=NUCLEO_F429ZI PROFILE=debug CACHE_NAME=debug-NUCLEO_F429ZI
92110

93111
# FVP_MPS2_M0
94112

95113
- <<: *mbed-psa-compile-test
96114
name: "Compile PSA example - release (FVP_MPS2_M0)"
97-
env: TARGET_NAME=FVP_MPS2_M0 PROFILE=release
115+
env: TARGET_NAME=FVP_MPS2_M0 PROFILE=release CACHE_NAME=release-FVP_MPS2_M0
98116

99117
- <<: *mbed-psa-compile-test
100118
name: "Compile PSA example - debug (FVP_MPS2_M0)"
101-
env: TARGET_NAME=FVP_MPS2_M0 PROFILE=debug
119+
env: TARGET_NAME=FVP_MPS2_M0 PROFILE=debug CACHE_NAME=debug-FVP_MPS2_M0
102120

103121
# FVP_MPS2_M0P
104122

105123
- <<: *mbed-psa-compile-test
106124
name: "Compile PSA example - release (FVP_MPS2_M0P)"
107-
env: TARGET_NAME=FVP_MPS2_M0P PROFILE=release
125+
env: TARGET_NAME=FVP_MPS2_M0P PROFILE=release CACHE_NAME=release-FVP_MPS2_M0P
108126

109127
- <<: *mbed-psa-compile-test
110128
name: "Compile PSA example - debug (FVP_MPS2_M0P)"
111-
env: TARGET_NAME=FVP_MPS2_M0P PROFILE=debug
129+
env: TARGET_NAME=FVP_MPS2_M0P PROFILE=debug CACHE_NAME=debug-FVP_MPS2_M0P
112130

113131
# FVP_MPS2_M3
114132

115133
- <<: *mbed-psa-compile-test
116134
name: "Compile PSA example - release (FVP_MPS2_M3)"
117-
env: TARGET_NAME=FVP_MPS2_M3 PROFILE=release
135+
env: TARGET_NAME=FVP_MPS2_M3 PROFILE=release CACHE_NAME=release-FVP_MPS2_M3
118136

119137
- <<: *mbed-psa-compile-test
120138
name: "Compile PSA example - debug (FVP_MPS2_M3)"
121-
env: TARGET_NAME=FVP_MPS2_M3 PROFILE=debug
139+
env: TARGET_NAME=FVP_MPS2_M3 PROFILE=debug CACHE_NAME=debug-FVP_MPS2_M3
122140

123141
# FVP_MPS2_M4
124142

125143
- <<: *mbed-psa-compile-test
126144
name: "Compile PSA example - release (FVP_MPS2_M4)"
127-
env: TARGET_NAME=FVP_MPS2_M4 PROFILE=release
145+
env: TARGET_NAME=FVP_MPS2_M4 PROFILE=release CACHE_NAME=release-FVP_MPS2_M4
128146

129147
- <<: *mbed-psa-compile-test
130148
name: "Compile PSA example - debug (FVP_MPS2_M4)"
131-
env: TARGET_NAME=FVP_MPS2_M4 PROFILE=debug
149+
env: TARGET_NAME=FVP_MPS2_M4 PROFILE=debug CACHE_NAME=debug-FVP_MPS2_M4
132150

133151
# FVP_MPS2_M7
134152

135153
- <<: *mbed-psa-compile-test
136154
name: "Compile PSA example - release (FVP_MPS2_M7)"
137-
env: TARGET_NAME=FVP_MPS2_M7 PROFILE=release
155+
env: TARGET_NAME=FVP_MPS2_M7 PROFILE=release CACHE_NAME=release-FVP_MPS2_M7
138156

139157
- <<: *mbed-psa-compile-test
140158
name: "Compile PSA example - debug (FVP_MPS2_M7)"
141-
env: TARGET_NAME=FVP_MPS2_M7 PROFILE=debug
159+
env: TARGET_NAME=FVP_MPS2_M7 PROFILE=debug CACHE_NAME=debug-FVP_MPS2_M7
142160

143161
# GD32_F450ZI
144162

145163
- <<: *mbed-psa-compile-test
146164
name: "Compile PSA example - release (GD32_F450ZI)"
147-
env: TARGET_NAME=GD32_F450ZI PROFILE=release
165+
env: TARGET_NAME=GD32_F450ZI PROFILE=release CACHE_NAME=release-GD32_F450ZI
148166

149167
- <<: *mbed-psa-compile-test
150168
name: "Compile PSA example - debug (GD32_F450ZI)"
151-
env: TARGET_NAME=GD32_F450ZI PROFILE=debug
169+
env: TARGET_NAME=GD32_F450ZI PROFILE=debug CACHE_NAME=debug-GD32_F450ZI

0 commit comments

Comments
 (0)