[v2,09/12] CI: Enable ccache dir sharing

Message ID 20230303144727.481716-10-amikan@ilbers.de
State Accepted, archived
Headers show
Series Next avocado improvements​ | expand

Commit Message

Anton Mikanovich March 3, 2023, 2:47 p.m. UTC
Test cases performed in different build dirs now can share
CCACHE_TOP_DIR. Enable ccache sharing if ccache got enabled.

Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
 testsuite/cibuilder.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Patch

diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py
index ef46352..0f84cca 100755
--- a/testsuite/cibuilder.py
+++ b/testsuite/cibuilder.py
@@ -58,7 +58,7 @@  class CIBuilder(Test):
     def configure(self, compat_arch=True, cross=True, debsrc_cache=False,
                   container=False, ccache=False, sstate=False, offline=False,
                   gpg_pub_key=None, wic_deploy_parts=False, dl_dir=None,
-                  sstate_dir=None,
+                  sstate_dir=None, ccache_dir=None,
                   source_date_epoch=None, image_install=None, **kwargs):
         # write configuration file and set bitbake_args
         # can run multiple times per test case
@@ -72,6 +72,8 @@  class CIBuilder(Test):
             dl_dir = os.path.join(isar_root, 'downloads')
         if sstate_dir is None:
             sstate_dir = os.path.join(isar_root, 'sstate-cache')
+        if ccache_dir is None:
+            ccache_dir = '${TOPDIR}/ccache'
 
         # get parameters from environment
         distro_apt_premir = os.getenv('DISTRO_APT_PREMIRRORS')
@@ -90,6 +92,7 @@  class CIBuilder(Test):
                       f'  source_date_epoch = {source_date_epoch} \n'
                       f'  dl_dir = {dl_dir}\n'
                       f'  sstate_dir = {sstate_dir}\n'
+                      f'  ccache_dir = {ccache_dir}\n'
                       f'  image_install = {image_install}\n'
                       f'===================================================')
 
@@ -124,7 +127,7 @@  class CIBuilder(Test):
                 f.write('DISTRO_APT_PREMIRRORS = "%s"\n' % distro_apt_premir)
             if ccache:
                 f.write('USE_CCACHE = "1"\n')
-                f.write('CCACHE_TOP_DIR = "${TOPDIR}/ccache"\n')
+                f.write('CCACHE_TOP_DIR = "%s"\n' % ccache_dir)
             if source_date_epoch:
                 f.write('SOURCE_DATE_EPOCH = "%s"\n' % source_date_epoch)
             if dl_dir: