[buildbot] phase1, phase2: add unified ccache handling
LEDE Commits
lede-commits at lists.infradead.org
Sun Jan 22 06:27:11 PST 2017
jow pushed a commit to buildbot.git, branch master:
https://git.lede-project.org/17b4c63900a461ef5ae3c5cdaed7e8d255847fde
commit 17b4c63900a461ef5ae3c5cdaed7e8d255847fde
Author: Jo-Philipp Wich <jo at mein.io>
AuthorDate: Sun Jan 22 15:23:13 2017 +0100
phase1, phase2: add unified ccache handling
Signed-off-by: Jo-Philipp Wich <jo at mein.io>
---
phase1/ccache.sh | 21 +++++++++++++++++++++
phase1/master.cfg | 14 ++++++++++++++
phase2/master.cfg | 11 +++++++++++
3 files changed, 46 insertions(+)
diff --git a/phase1/ccache.sh b/phase1/ccache.sh
new file mode 100755
index 0000000..61590f2
--- /dev/null
+++ b/phase1/ccache.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+
+export LC_ALL=C
+
+mkdir -p "$HOME/.ccache"
+
+grep -sq max_size "$HOME/.ccache/ccache.conf" || \
+ echo "max_size = 10.0G" >> "$HOME/.ccache/ccache.conf"
+
+grep -sq compiler_check "$HOME/.ccache/ccache.conf" || \
+ echo "compiler_check = %compiler% -dumpmachine; %compiler% -dumpversion" >> "$HOME/.ccache/ccache.conf"
+
+for dir in $(make --no-print-directory val.TOOLCHAIN_DIR val.STAGING_DIR val.STAGING_DIR_HOST V=s | grep staging_dir/); do
+ mkdir -p "$dir"
+ test -L "$dir/ccache" || rm -rf "$dir/ccache"
+ ln -s "$HOME/.ccache" "$dir/ccache"
+done
+
+./staging_dir/host/bin/ccache -s 2>/dev/null
+
+exit 0
diff --git a/phase1/master.cfg b/phase1/master.cfg
index ae69309..bc21f80 100644
--- a/phase1/master.cfg
+++ b/phase1/master.cfg
@@ -454,6 +454,20 @@ for target in targets:
command=["./scripts/feeds", "install", "-a"],
env = MakeEnv()))
+ # ccache helper
+ factory.addStep(FileDownload(
+ mastersrc = "ccache.sh",
+ slavedest = "ccache.sh",
+ mode = 0755
+ ))
+
+ # ccache prepare
+ factory.addStep(ShellCommand(
+ name = "prepccache",
+ description = "Preparing ccache",
+ command = ["./ccache.sh"]
+ ))
+
# seed config
factory.addStep(FileDownload(
mastersrc = "config.seed",
diff --git a/phase2/master.cfg b/phase2/master.cfg
index 08b5387..d6d2e22 100644
--- a/phase2/master.cfg
+++ b/phase2/master.cfg
@@ -287,6 +287,17 @@ for arch in arches:
workdir = "build/sdk",
command = ["sh", "-c", "rm -f .config && make defconfig"]))
+ factory.addStep(FileDownload(
+ mastersrc = home_dir+'/ccache.sh',
+ slavedest = 'sdk/ccache.sh',
+ mode = 0755))
+
+ factory.addStep(ShellCommand(
+ name = "prepccache",
+ description = "Preparing ccache",
+ workdir = "build/sdk",
+ command = ["./ccache.sh"]))
+
factory.addStep(ShellCommand(
name = "updatefeeds",
description = "Updating feeds",
More information about the lede-commits
mailing list