diff options
author | Evgeny Vereshchagin <evvers@ya.ru> | 2020-06-11 14:16:44 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-11 14:16:44 +0300 |
commit | 119111645be4a0c220672545111136cce87c802f (patch) | |
tree | f2d4b772185cd9df2f6ffcac2eba746044924743 /travis-ci | |
parent | 241616d57dd8860f8fdcb00c97b093014e6565b3 (diff) | |
parent | 35cd3db4e50d1733741c3ea7df54baefb1559ac4 (diff) | |
download | systemd-119111645be4a0c220672545111136cce87c802f.tar.gz |
Merge pull request #16136 from mrc0mmand/travis-cleanup
Move the gcc/clang build check to GitHub Actions
Diffstat (limited to 'travis-ci')
-rwxr-xr-x | travis-ci/managers/ubuntu-build-check.sh | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/travis-ci/managers/ubuntu-build-check.sh b/travis-ci/managers/ubuntu-build-check.sh new file mode 100755 index 0000000000..c2a7feee60 --- /dev/null +++ b/travis-ci/managers/ubuntu-build-check.sh @@ -0,0 +1,93 @@ +#!/bin/bash + +set -e + +info() { echo -e "\033[33;1m$1\033[0m"; } +error() { echo >&2 -e "\033[31;1m$1\033[0m"; } +success() { echo >&2 -e "\033[32;1m$1\033[0m"; } + +ARGS=( + "--optimization=0" + "--optimization=2" + "--optimization=3" + "--optimization=s" + "-Db_lto=true" + "-Db_ndebug=true" +) +PACKAGES=( + cryptsetup-bin + expect + fdisk + gettext + iptables-dev + iputils-ping + isc-dhcp-client + itstool + kbd + libblkid-dev + libcap-dev + libcurl4-gnutls-dev + libfdisk-dev + libgpg-error-dev + liblz4-dev + liblzma-dev + libmicrohttpd-dev + libmount-dev + libp11-kit-dev + libpwquality-dev + libqrencode-dev + libssl-dev + libxkbcommon-dev + libzstd-dev + mount + net-tools + ninja-build + perl + python-lxml + python3-evdev + python3-lxml + python3-pip + python3-pyparsing + python3-setuptools + quota + strace + unifont + util-linux + zstd +) +CC="${CC:?}" +CXX="${CXX:?}" +AR="${AR:-""}" +RELEASE="$(lsb_release -cs)" + +bash -c "echo 'deb-src http://archive.ubuntu.com/ubuntu/ $RELEASE main restricted universe multiverse' >>/etc/apt/sources.list" + +# PPA with some newer build dependencies (like zstd) +add-apt-repository -y ppa:upstream-systemd-ci/systemd-ci +apt-get update +apt-get build-dep systemd -y +apt-get install -y "${PACKAGES[@]}" +# Install latest meson from pip, as the distro-one doesn't support +# --optimization= +pip3 install meson + +$CC --version + +for args in "${ARGS[@]}"; do + SECONDS=0 + + info "Checking build with $args" + if ! AR="$AR" CC="$CC" CXX="$CXX" meson --werror $args build; then + error "meson failed with $args" + exit 1 + fi + + if ! ninja -C build; then + error "ninja failed with $args" + exit 1 + fi + + git clean -dxf + + success "Build with $args passed in $SECONDS seconds" +done |