travis: Add sandbox/clang-7 support
PATCH 1/1 travis: Add sandbox/clang-7 support
To make testing with clang support easier, add sandbox/clang-7 combination to our testing matrix. To facilitate this, switch to using the "sources" method that the travis.yml file supports to list additional repositories and add the official one for llvm-7. Due to buildman not supporting using clang at this time add logic to manually build a single sandbox configuration in the expected output directory so that we can still invoke all of our tests.
--- .travis.yml | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-)
.travis.yml +20 -7
@@ -10,6 +10,9 @@ language: c addons: apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-7 packages: - cppcheck - sloccount
@@ -28,11 +31,8 @@ addons: - device-tree-compiler - lzop - liblz4-tool - -before_install: - - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y - - sudo apt-get update -q - - sudo apt-get install libisl15 -y + - libisl15 + - clang-7 install: # Clone uboot-test-hooks
@@ -105,8 +105,16 @@ script: # Comments must be outside the command strings below, or the Travis parser # will get confused. # - # Exit code 129 means warnings only. - - if [[ "${BUILDMAN}" != "" ]]; then + # From buildman, exit code 129 means warnings only. If we've been asked to + # use clang only do one configuration. + - if [[ "${TOOLCHAIN}" == "clang" ]]; then + ret=0; + make O=../.bm-work/${TEST_PY_BD} HOSTCC=clang-7 CC=clang-7 -j$(nproc) + KCFLAGS=-Werror sandbox_config all || ret=$?; + if [[ $ret -ne 0 ]]; then + exit $ret; + fi; + elif [[ "${BUILDMAN}" != "" ]]; then ret=0; tools/buildman/buildman -P -E ${BUILDMAN} || ret=$?; if [[ $ret -ne 0 && $ret -ne 129 ]]; then
@@ -322,6 +330,11 @@ matrix: - TEST_PY_BD="sandbox" BUILDMAN="^sandbox$" TOOLCHAIN="x86_64" + - name: "test/py sandbox with clang" + env: + - TEST_PY_BD="sandbox" + BUILDMAN="^sandbox$" + TOOLCHAIN="clang" - name: "test/py sandbox_spl" env: - TEST_PY_BD="sandbox_spl"
Signature · 1 line
2.7.4
PATCH 1/1 travis: Add sandbox/clang-7 support
Hi Tom,
Quoted 9 lines · Tom Rini
To make testing with clang support easier, add sandbox/clang-7 combination to our testing matrix. To facilitate this, switch to using the "sources" method that the travis.yml file supports to list additional repositories and add the official one for llvm-7. Due to buildman not supporting using clang at this time add logic to manually build a single sandbox configuration in the expected output directory so that we can still invoke all of our tests.
Quoted 5 lines
Cc Simon Glass <[email protected]>Signed-off-by Tom Rini <[email protected]>--- .travis.yml | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-)
What prevents buildman supporting clang?
- Simon
PATCH 1/1 travis: Add sandbox/clang-7 support
Quoted 18 lines · Simon Glass
Hi Tom,
Quoted 9 lines · Tom Rini
To make testing with clang support easier, add sandbox/clang-7 combination to our testing matrix. To facilitate this, switch to using the "sources" method that the travis.yml file supports to list additional repositories and add the official one for llvm-7. Due to buildman not supporting using clang at this time add logic to manually build a single sandbox configuration in the expected output directory so that we can still invoke all of our tests.
Quoted 5 lines
Cc Simon Glass <[email protected]>Signed-off-by Tom Rini <[email protected]>--- .travis.yml | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-)
Quoted 3 lines
Reviewed-by Simon Glass <[email protected]>What prevents buildman supporting clang?
Well, I couldn't convince buildman to accept "/usr/bin/clang-7" as the full and entire path to the toolchain to use. Ideas? Thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181009/ce7779eb/attachment.sig>
PATCH 1/1 travis: Add sandbox/clang-7 support
Hi Tom,
Quoted 19 lines · Tom Rini
Quoted 18 lines · Simon Glass
Hi Tom,
Quoted 14 lines · Tom Rini
To make testing with clang support easier, add sandbox/clang-7 combination to our testing matrix. To facilitate this, switch to using the "sources" method that the travis.yml file supports to list additional repositories and add the official one for llvm-7. Due to buildman not supporting using clang at this time add logic to manually build a single sandbox configuration in the expected output directory so that we can still invoke all of our tests.
Cc Simon Glass <[email protected]>Signed-off-by Tom Rini <[email protected]>--- .travis.yml | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-)
Quoted 6 lines
Quoted 3 lines
Reviewed-by Simon Glass <[email protected]>What prevents buildman supporting clang?
Well, I couldn't convince buildman to accept "
/usr/bin/clang-7" as the full and entire path to the toolchain to use. Ideas? Thanks!
No, sadly it looks like we need to add special support for clang - as per README.clang. We need to set CC and CROSS_COMPILE, at least.
Regards,
Simon
Quoted 11 lines · Tom Rini
To make testing with clang support easier, add sandbox/clang-7 combination to our testing matrix. To facilitate this, switch to using the "sources" method that the travis.yml file supports to list additional repositories and add the official one for llvm-7. Due to buildman not supporting using clang at this time add logic to manually build a single sandbox configuration in the expected output directory so that we can still invoke all of our tests.
Cc Simon Glass <[email protected]>Signed-off-by Tom Rini <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181020/4e1c1f29/attachment.sig>