Skip to content
This repository was archived by the owner on Apr 28, 2023. It is now read-only.

Commit b2b8360

Browse files
committed
[CircleCI] cache Halide headers properly
Ever since the first deployment of CircleCI caching for Halide in the prehistory, caching was misconfigured and Halide was recompiled on every test run. Contrary to other buildable dependences, Halide does not create a directory for include files like "third-party-install/include/Halide/" but installs headers directly into "third-party-install/Halide". The cache was configured to store this non-existent directory, failing to capture header files and this triggering re-compilation and re-installation on every run. Explicitly list all Halide headers to store in the cache. Note that the CI configuration will have to be updated if Halide header names change. A better solution would be to make Halide install its headers in a subdirectory, but would require changing Halide's makefile.
1 parent 4cb9c10 commit b2b8360

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

.circleci/config.yml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,16 @@ jobs:
9494
- save_cache:
9595
key: v1-halide-{{ checksum ".git/modules/third-party/halide/HEAD" }}-{{ checksum "build.sh" }}-{{ checksum ".circleci/config.yml" }}-{{ arch }}-1404
9696
paths:
97-
- third-party-install/include/Halide
97+
- third-party-install/include/HalideBuffer.h
98+
- third-party-install/include/Halide.h
99+
- third-party-install/include/HalideRuntimeCuda.h
100+
- third-party-install/include/HalideRuntime.h
101+
- third-party-install/include/HalideRuntimeHexagonHost.h
102+
- third-party-install/include/HalideRuntimeMetal.h
103+
- third-party-install/include/HalideRuntimeOpenCL.h
104+
- third-party-install/include/HalideRuntimeOpenGLCompute.h
105+
- third-party-install/include/HalideRuntimeOpenGL.h
106+
- third-party-install/include/HalideRuntimeQurt.h
98107
- third-party-install/lib/libHalide.so
99108
- third-party-install/lib/libHalide.a
100109

@@ -204,7 +213,16 @@ jobs:
204213
- save_cache:
205214
key: v1-halide-{{ checksum ".git/modules/third-party/halide/HEAD" }}-{{ checksum "build.sh" }}-{{ checksum ".circleci/config.yml" }}-{{ arch }}-1604
206215
paths:
207-
- third-party-install/include/Halide
216+
- third-party-install/include/HalideBuffer.h
217+
- third-party-install/include/Halide.h
218+
- third-party-install/include/HalideRuntimeCuda.h
219+
- third-party-install/include/HalideRuntime.h
220+
- third-party-install/include/HalideRuntimeHexagonHost.h
221+
- third-party-install/include/HalideRuntimeMetal.h
222+
- third-party-install/include/HalideRuntimeOpenCL.h
223+
- third-party-install/include/HalideRuntimeOpenGLCompute.h
224+
- third-party-install/include/HalideRuntimeOpenGL.h
225+
- third-party-install/include/HalideRuntimeQurt.h
208226
- third-party-install/lib/libHalide.so
209227
- third-party-install/lib/libHalide.a
210228

0 commit comments

Comments
 (0)