Discovered while experimenting and noting that minor verison updates (e.g. v25.6.1) that the ccache is basically unused at present and so we're getting no advanatge from it. I initially thought it might be cache thrashing with multiple releases chewing up the 2GiB lmit on the current platform-specific caches but that is not the case.
When we extract the source tarballs in the individual run.sh scripts it extracts and builds from a path which has the version name in the top of the tarball e.g. node-v25.6.1. Since this is different for each version, the cache cannot be used. There are two potential solutions here:
- Use
CCACHE_BASE to the directory that it's extracted to (e.g. /home/node/node-v25.6.1)
- Extract and build the tarball from a neutral directory. Either
a) Create a /home/node/node and extract the tarball with tar --strip-components=1 -C node node.tar.xz
b) After extracting issue mv node-${fullversion} node
I'm leaning towards option 1 as it's a quicker fix and would still allow the path with the version name to be visible in the logs. 2a is less ideal as it uses non-POSIX parameters for tar.
Discovered while experimenting and noting that minor verison updates (e.g. v25.6.1) that the ccache is basically unused at present and so we're getting no advanatge from it. I initially thought it might be cache thrashing with multiple releases chewing up the 2GiB lmit on the current platform-specific caches but that is not the case.
When we extract the source tarballs in the individual
run.shscripts it extracts and builds from a path which has the version name in the top of the tarball e.g.node-v25.6.1. Since this is different for each version, the cache cannot be used. There are two potential solutions here:CCACHE_BASEto the directory that it's extracted to (e.g./home/node/node-v25.6.1)a) Create a /home/node/node and extract the tarball with
tar --strip-components=1 -C node node.tar.xzb) After extracting issue
mv node-${fullversion} nodeI'm leaning towards option 1 as it's a quicker fix and would still allow the path with the version name to be visible in the logs. 2a is less ideal as it uses non-POSIX parameters for
tar.