build: add what-jenkins-does target

This target does (pretty much) exactly the same what jenkins
is doing on our build nodes:
 - complete abuild run of our tree with a given payload
 - building all libpayload configs we ship
 - building the cbmem utility

In fact at some point we could tell jenkins to just run this command.

For debugging, pass along V and Q variables so inner make processes
are slightly more noisy on demand.

Change-Id: Ib515170603a151cc3c3b10c743f1468a9875dbdc
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/6797
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
This commit is contained in:
Patrick Georgi 2014-08-29 20:10:38 +02:00
parent 230fe0ef2f
commit 062e408bc7
2 changed files with 8 additions and 2 deletions

View File

@ -565,3 +565,9 @@ $(obj)/coreboot.pre: $(objcbfs)/$(ROMSTAGE_ELF) $(obj)/coreboot.pre1 $(CBFSTOOL)
-n $(CONFIG_CBFS_PREFIX)/romstage -c none \
$(CBFSTOOL_PRE_OPTS)
mv $@.tmp $@
JENKINS_PAYLOAD=none
what-jenkins-does:
util/abuild/abuild -B -J -y -c 4 -p $(JENKINS_PAYLOAD)
(cd payloads/libpayload; $(MAKE) CONFIG_CCACHE=y V=$(V) Q=$(Q) junit.xml)
$(MAKE) V=$(V) Q=$(Q) -C util/cbmem junit.xml

View File

@ -122,9 +122,9 @@ junit.xml:
echo '<?xml version="1.0" encoding="utf-8"?><testsuite>' > $@.tmp
for i in $(filter-out %.old,$(wildcard configs/*)); do \
$(MAKE) clean; \
yes | $(MAKE) oldconfig DOTCONFIG=$$i 2>/dev/null >/dev/null; \
yes | $(MAKE) oldconfig DOTCONFIG=$$i V=$(V) Q=$(Q) 2>/dev/null >/dev/null; \
echo "<testcase classname='libpayload' name='$$i'>" >> $@.tmp; \
$(MAKE) CONFIG_CCACHE=$(CONFIG_CCACHE) DOTCONFIG=$$i >> $@.tmp.2 2>&1 && type="system-out" || type="failure"; \
$(MAKE) V=$(V) Q=$(Q) CONFIG_CCACHE=$(CONFIG_CCACHE) DOTCONFIG=$$i >> $@.tmp.2 2>&1 && type="system-out" || type="failure"; \
if [ $$type = "failure" ]; then \
echo "<failure type='buildFailed'>" >> $@.tmp; \
else \