Message ID | 20210426071749.26921-2-michael.adler@siemens.com |
---|---|
State | Changes Requested |
Headers | show |
Series | Modularize CI and support for Gitlab | expand |
Hi Michael, On 26.04.21 09:17, Michael Adler wrote: > This makes it easier to run the tests locally. > > Signed-off-by: Michael Adler <michael.adler@siemens.com> > Signed-off-by: Christian Storm <christian.storm@siemens.com> > --- > .travis.yml | 65 +++--------------------------------------- > ci/install-src-deps.sh | 59 ++++++++++++++++++++++++++++++++++++++ > ci/setup.sh | 55 +++++++++++++++++++++++++++++++++++ > ci/test-configs.sh | 18 ++++++++++++ > 4 files changed, 136 insertions(+), 61 deletions(-) > create mode 100755 ci/install-src-deps.sh > create mode 100755 ci/setup.sh > create mode 100755 ci/test-configs.sh > > diff --git a/.travis.yml b/.travis.yml > index 008f8a4..7ccad7c 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -24,66 +24,9 @@ addons: > branch_pattern: coverity_scan > > before_install: > - - sudo apt-get -qq update > - - sudo apt-get install -y build-essential > - - sudo apt-get install -y automake > - - sudo apt-get install -y libzmq3-dev > - - sudo apt-get install -y liblua5.2-dev > - - sudo apt-get install -y libconfig-dev > - - sudo apt-get install -y libarchive-dev > - - sudo apt-get install -y libjson-c-dev > - - sudo apt-get install -y zlib1g-dev > - - sudo apt-get install -y git > - - sudo apt-get install -y uuid > - - sudo apt-get install -y uuid-dev > - - sudo apt-get install -y liblzo2-dev > - - sudo apt-get install -y libsystemd-dev > - - sudo apt-get install -y libsystemd0 > - - sudo apt-get install -y check > - - sudo apt-get install -y librsync2 > - - sudo apt-get install -y librsync-dev > - - sudo apt-get install -y liburiparser-dev > - - sudo apt-get install -y doxygen > - - sudo apt-get install -y graphviz > - - sudo apt-get install -y autoconf-archive > - - sudo apt-get install -y linux-headers-$(uname -r) > - - sudo apt-get install -y libmbedtls-dev > - - sudo apt-get install -y libcmocka-dev > - - sudo apt-get install -y libfdisk-dev > - - sudo apt-get install -y libwebsockets-dev > - - sudo apt-get install -y libgpiod-dev > - - echo -n | openssl s_client -connect https://scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca- > - - sudo ln -sf /usr/lib/x86_64-linux-gnu/pkgconfig/lua5.2.pc /usr/lib/x86_64-linux-gnu/pkgconfig/lua.pc > - - sudo mkdir -p /usr/local/lib > - - sudo mkdir -p /usr/local/include > - - sudo mkdir -p /usr/local/include/mtd > - - git clone https://github.com/sigma-star/mtd-utils > - - cd mtd-utils > - - git checkout -b tmp v2.0.0 > - - ./autogen.sh > - - ./configure > - - make > - - sudo install -m 644 include/libubi.h /usr/local/include > - - sudo install -m 644 include/libmtd.h /usr/local/include > - - sudo install -m 644 include/mtd/ubi-media.h /usr/local/include/mtd > - - sudo install -m 644 *.a /usr/local/lib > - - cd .. > - - git clone https://github.com/sbabic/libubootenv.git > - - cd libubootenv > - - cmake . > - - make > - - sudo make install > - - cd .. > - - git clone https://github.com/siemens/efibootguard.git > - - cd efibootguard > - - autoreconf -fi > - - ./configure > - - make libebgenv.a > - - sudo install -m 644 libebgenv.a /usr/local/lib/libebgenv.a > - - sudo install -m 755 -d /usr/include/efibootguard > - - sudo install -m 644 include/ebgenv.h /usr/include/efibootguard/ebgenv.h > - - cd .. > - - sudo ldconfig > + - ./ci/setup.sh > + - ./ci/install-src-deps.sh > + - echo -n | openssl s_client -connect https://scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | $_SUDO tee -a /etc/ssl/certs/ca- > > script: > - - for i in configs/*;do echo $i;make `basename $i` && make || exit 1;make test || exit 1;done > + - ./ci/test-configs.sh > diff --git a/ci/install-src-deps.sh b/ci/install-src-deps.sh > new file mode 100755 > index 0000000..fea5e3a > --- /dev/null > +++ b/ci/install-src-deps.sh > @@ -0,0 +1,59 @@ > +#!/bin/sh > +# Copyright (c) Siemens AG, 2021 > +# > +# Authors: > +# Michael Adler <michael.adler@siemens.com> > +# > +# This work is licensed under the terms of the GNU GPL, version 2. See > +# the COPYING file in the top-level directory. > +# > +# SPDX-License-Identifier: GPL-2.0 > +set -eu > + > +_SUDO=sudo > +if [ $(id -u) = 0 ]; then > + _SUDO= > +fi > + > +install_mtd_utils() { > + $_SUDO mkdir -p /usr/local/lib > + $_SUDO mkdir -p /usr/local/include > + $_SUDO mkdir -p /usr/local/include/mtd > + git clone https://github.com/sigma-star/mtd-utils > + cd mtd-utils > + git checkout -b tmp v2.0.0 > + ./autogen.sh > + ./configure > + make > + $_SUDO install -m 644 include/libubi.h /usr/local/include > + $_SUDO install -m 644 include/libmtd.h /usr/local/include > + $_SUDO install -m 644 include/mtd/ubi-media.h /usr/local/include/mtd > + $_SUDO install -m 644 *.a /usr/local/lib > + cd .. > +} > + > +install_libubootenv() { > + git clone https://github.com/sbabic/libubootenv.git > + cd libubootenv > + cmake . > + make > + $_SUDO make install > + cd .. > +} > + > +install_efibootguard() { > + git clone https://github.com/siemens/efibootguard.git > + cd efibootguard > + autoreconf -fi > + ./configure > + make libebgenv.a > + $_SUDO install -m 644 libebgenv.a /usr/local/lib/libebgenv.a > + $_SUDO install -m 755 -d /usr/include/efibootguard > + $_SUDO install -m 644 include/ebgenv.h /usr/include/efibootguard/ebgenv.h > + cd .. > +} > + > +install_mtd_utils > +install_libubootenv > +install_efibootguard > +$_SUDO ldconfig > diff --git a/ci/setup.sh b/ci/setup.sh > new file mode 100755 > index 0000000..2744732 > --- /dev/null > +++ b/ci/setup.sh > @@ -0,0 +1,55 @@ > +#!/bin/sh > +# Copyright (c) Siemens AG, 2021 > +# > +# Authors: > +# Michael Adler <michael.adler@siemens.com> > +# > +# This work is licensed under the terms of the GNU GPL, version 2. See > +# the COPYING file in the top-level directory. > +# > +# SPDX-License-Identifier: GPL-2.0 > +set -eu > + > +_SUDO=sudo > +if [ "$(id -u)" = 0 ]; then > + _SUDO= > +fi > + > +# prevent tzdata from becoming interactive which causes the build to be stuck > +export DEBIAN_FRONTEND=noninteractive > +export TZ=Europe/London > + > +$_SUDO apt-get -qq update > +$_SUDO apt-get install -y \ > + build-essential \ > + automake \ > + cmake \ > + libzmq3-dev \ > + liblua5.2-dev \ > + libconfig-dev \ > + libarchive-dev \ > + libjson-c-dev \ > + zlib1g-dev \ > + git \ > + uuid \ > + uuid-dev \ > + liblzo2-dev \ > + libsystemd-dev \ > + libsystemd0 \ > + check \ > + librsync2 \ > + librsync-dev \ > + liburiparser-dev \ > + doxygen \ > + graphviz \ > + autoconf-archive \ > + linux-headers-generic \ > + libmbedtls-dev \ > + libcmocka-dev \ > + libfdisk-dev \ > + libwebsockets-dev \ > + libgpiod-dev \ > + libcurl4-openssl-dev \ > + gawk > + > +$_SUDO ln -sf /usr/lib/x86_64-linux-gnu/pkgconfig/lua5.2.pc /usr/lib/x86_64-linux-gnu/pkgconfig/lua.pc > diff --git a/ci/test-configs.sh b/ci/test-configs.sh > new file mode 100755 > index 0000000..97578e4 > --- /dev/null > +++ b/ci/test-configs.sh > @@ -0,0 +1,18 @@ > +#!/bin/sh > +# Copyright (c) Siemens AG, 2021 > +# > +# Authors: > +# Michael Adler <michael.adler@siemens.com> > +# > +# This work is licensed under the terms of the GNU GPL, version 2. See > +# the COPYING file in the top-level directory. > +# > +# SPDX-License-Identifier: GPL-2.0 > +set -eu > + > +for i in configs/*; do > + echo "*** Testing config: $i" > + make "$(basename $i)" > + make -j8 > + make test > +done > I get an error ruinning on Travis: https://travis-ci.org/github/sbabic/swupdate/builds/768561361 Could you check this, please ? Thanks ! Best regards, Stefano Babic
diff --git a/.travis.yml b/.travis.yml index 008f8a4..7ccad7c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,66 +24,9 @@ addons: branch_pattern: coverity_scan before_install: - - sudo apt-get -qq update - - sudo apt-get install -y build-essential - - sudo apt-get install -y automake - - sudo apt-get install -y libzmq3-dev - - sudo apt-get install -y liblua5.2-dev - - sudo apt-get install -y libconfig-dev - - sudo apt-get install -y libarchive-dev - - sudo apt-get install -y libjson-c-dev - - sudo apt-get install -y zlib1g-dev - - sudo apt-get install -y git - - sudo apt-get install -y uuid - - sudo apt-get install -y uuid-dev - - sudo apt-get install -y liblzo2-dev - - sudo apt-get install -y libsystemd-dev - - sudo apt-get install -y libsystemd0 - - sudo apt-get install -y check - - sudo apt-get install -y librsync2 - - sudo apt-get install -y librsync-dev - - sudo apt-get install -y liburiparser-dev - - sudo apt-get install -y doxygen - - sudo apt-get install -y graphviz - - sudo apt-get install -y autoconf-archive - - sudo apt-get install -y linux-headers-$(uname -r) - - sudo apt-get install -y libmbedtls-dev - - sudo apt-get install -y libcmocka-dev - - sudo apt-get install -y libfdisk-dev - - sudo apt-get install -y libwebsockets-dev - - sudo apt-get install -y libgpiod-dev - - echo -n | openssl s_client -connect https://scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca- - - sudo ln -sf /usr/lib/x86_64-linux-gnu/pkgconfig/lua5.2.pc /usr/lib/x86_64-linux-gnu/pkgconfig/lua.pc - - sudo mkdir -p /usr/local/lib - - sudo mkdir -p /usr/local/include - - sudo mkdir -p /usr/local/include/mtd - - git clone https://github.com/sigma-star/mtd-utils - - cd mtd-utils - - git checkout -b tmp v2.0.0 - - ./autogen.sh - - ./configure - - make - - sudo install -m 644 include/libubi.h /usr/local/include - - sudo install -m 644 include/libmtd.h /usr/local/include - - sudo install -m 644 include/mtd/ubi-media.h /usr/local/include/mtd - - sudo install -m 644 *.a /usr/local/lib - - cd .. - - git clone https://github.com/sbabic/libubootenv.git - - cd libubootenv - - cmake . - - make - - sudo make install - - cd .. - - git clone https://github.com/siemens/efibootguard.git - - cd efibootguard - - autoreconf -fi - - ./configure - - make libebgenv.a - - sudo install -m 644 libebgenv.a /usr/local/lib/libebgenv.a - - sudo install -m 755 -d /usr/include/efibootguard - - sudo install -m 644 include/ebgenv.h /usr/include/efibootguard/ebgenv.h - - cd .. - - sudo ldconfig + - ./ci/setup.sh + - ./ci/install-src-deps.sh + - echo -n | openssl s_client -connect https://scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | $_SUDO tee -a /etc/ssl/certs/ca- script: - - for i in configs/*;do echo $i;make `basename $i` && make || exit 1;make test || exit 1;done + - ./ci/test-configs.sh diff --git a/ci/install-src-deps.sh b/ci/install-src-deps.sh new file mode 100755 index 0000000..fea5e3a --- /dev/null +++ b/ci/install-src-deps.sh @@ -0,0 +1,59 @@ +#!/bin/sh +# Copyright (c) Siemens AG, 2021 +# +# Authors: +# Michael Adler <michael.adler@siemens.com> +# +# This work is licensed under the terms of the GNU GPL, version 2. See +# the COPYING file in the top-level directory. +# +# SPDX-License-Identifier: GPL-2.0 +set -eu + +_SUDO=sudo +if [ $(id -u) = 0 ]; then + _SUDO= +fi + +install_mtd_utils() { + $_SUDO mkdir -p /usr/local/lib + $_SUDO mkdir -p /usr/local/include + $_SUDO mkdir -p /usr/local/include/mtd + git clone https://github.com/sigma-star/mtd-utils + cd mtd-utils + git checkout -b tmp v2.0.0 + ./autogen.sh + ./configure + make + $_SUDO install -m 644 include/libubi.h /usr/local/include + $_SUDO install -m 644 include/libmtd.h /usr/local/include + $_SUDO install -m 644 include/mtd/ubi-media.h /usr/local/include/mtd + $_SUDO install -m 644 *.a /usr/local/lib + cd .. +} + +install_libubootenv() { + git clone https://github.com/sbabic/libubootenv.git + cd libubootenv + cmake . + make + $_SUDO make install + cd .. +} + +install_efibootguard() { + git clone https://github.com/siemens/efibootguard.git + cd efibootguard + autoreconf -fi + ./configure + make libebgenv.a + $_SUDO install -m 644 libebgenv.a /usr/local/lib/libebgenv.a + $_SUDO install -m 755 -d /usr/include/efibootguard + $_SUDO install -m 644 include/ebgenv.h /usr/include/efibootguard/ebgenv.h + cd .. +} + +install_mtd_utils +install_libubootenv +install_efibootguard +$_SUDO ldconfig diff --git a/ci/setup.sh b/ci/setup.sh new file mode 100755 index 0000000..2744732 --- /dev/null +++ b/ci/setup.sh @@ -0,0 +1,55 @@ +#!/bin/sh +# Copyright (c) Siemens AG, 2021 +# +# Authors: +# Michael Adler <michael.adler@siemens.com> +# +# This work is licensed under the terms of the GNU GPL, version 2. See +# the COPYING file in the top-level directory. +# +# SPDX-License-Identifier: GPL-2.0 +set -eu + +_SUDO=sudo +if [ "$(id -u)" = 0 ]; then + _SUDO= +fi + +# prevent tzdata from becoming interactive which causes the build to be stuck +export DEBIAN_FRONTEND=noninteractive +export TZ=Europe/London + +$_SUDO apt-get -qq update +$_SUDO apt-get install -y \ + build-essential \ + automake \ + cmake \ + libzmq3-dev \ + liblua5.2-dev \ + libconfig-dev \ + libarchive-dev \ + libjson-c-dev \ + zlib1g-dev \ + git \ + uuid \ + uuid-dev \ + liblzo2-dev \ + libsystemd-dev \ + libsystemd0 \ + check \ + librsync2 \ + librsync-dev \ + liburiparser-dev \ + doxygen \ + graphviz \ + autoconf-archive \ + linux-headers-generic \ + libmbedtls-dev \ + libcmocka-dev \ + libfdisk-dev \ + libwebsockets-dev \ + libgpiod-dev \ + libcurl4-openssl-dev \ + gawk + +$_SUDO ln -sf /usr/lib/x86_64-linux-gnu/pkgconfig/lua5.2.pc /usr/lib/x86_64-linux-gnu/pkgconfig/lua.pc diff --git a/ci/test-configs.sh b/ci/test-configs.sh new file mode 100755 index 0000000..97578e4 --- /dev/null +++ b/ci/test-configs.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# Copyright (c) Siemens AG, 2021 +# +# Authors: +# Michael Adler <michael.adler@siemens.com> +# +# This work is licensed under the terms of the GNU GPL, version 2. See +# the COPYING file in the top-level directory. +# +# SPDX-License-Identifier: GPL-2.0 +set -eu + +for i in configs/*; do + echo "*** Testing config: $i" + make "$(basename $i)" + make -j8 + make test +done