mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-06-02 13:30:09 +00:00
ci: fail any build that emits warnings
Using a custom logging.yml we can instruct BitBake's logger to write all warnings and errors into a separate log file. Then after the build has finished we can see if the log file is empty and if not show it and abort the build. Change-Id: Ida835b5c822941fb513dfb1758b4ec195e0050fc Signed-off-by: Ross Burton <ross.burton@arm.com>
This commit is contained in:
@@ -15,6 +15,7 @@ stages:
|
|||||||
KAS_WORK_DIR: $CI_PROJECT_DIR/work
|
KAS_WORK_DIR: $CI_PROJECT_DIR/work
|
||||||
SSTATE_DIR: $CI_BUILDS_DIR/persist/sstate
|
SSTATE_DIR: $CI_BUILDS_DIR/persist/sstate
|
||||||
DL_DIR: $CI_BUILDS_DIR/persist/downloads
|
DL_DIR: $CI_BUILDS_DIR/persist/downloads
|
||||||
|
BB_LOGCONFIG: $CI_PROJECT_DIR/kas/logging.yml
|
||||||
before_script:
|
before_script:
|
||||||
- echo KAS_WORK_DIR = $KAS_WORK_DIR
|
- echo KAS_WORK_DIR = $KAS_WORK_DIR
|
||||||
- echo SSTATE_DIR = $SSTATE_DIR
|
- echo SSTATE_DIR = $SSTATE_DIR
|
||||||
@@ -28,6 +29,7 @@ stages:
|
|||||||
- KASFILES=$(kas/jobs-to-kas $CI_JOB_NAME)
|
- KASFILES=$(kas/jobs-to-kas $CI_JOB_NAME)
|
||||||
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
|
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
|
||||||
- kas build $KASFILES
|
- kas build $KASFILES
|
||||||
|
- ./kas/check-warnings $KAS_WORK_DIR/build/warnings.log
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ repos:
|
|||||||
meta:
|
meta:
|
||||||
meta-poky:
|
meta-poky:
|
||||||
|
|
||||||
|
env:
|
||||||
|
BB_LOGCONFIG: ""
|
||||||
|
|
||||||
local_conf_header:
|
local_conf_header:
|
||||||
base: |
|
base: |
|
||||||
CONF_VERSION = "1"
|
CONF_VERSION = "1"
|
||||||
|
|||||||
Executable
+18
@@ -0,0 +1,18 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
# Expects the path to a log file as $1, and if this file has any content
|
||||||
|
# then display the contents and exit with an error code.
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
LOGFILE=$1
|
||||||
|
|
||||||
|
if test -s $LOGFILE; then
|
||||||
|
echo ==============================
|
||||||
|
echo The build had warnings/errors:
|
||||||
|
echo ==============================
|
||||||
|
cat $LOGFILE
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Python logging configuration to write all warnings to a separate file
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
warnings:
|
||||||
|
class: logging.FileHandler
|
||||||
|
level: WARNING
|
||||||
|
filename: warnings.log
|
||||||
|
formatter: BitBake.logfileFormatter
|
||||||
|
|
||||||
|
loggers:
|
||||||
|
BitBake:
|
||||||
|
handlers: [warnings]
|
||||||
Reference in New Issue
Block a user