summaryrefslogtreecommitdiff
path: root/travis-ci
diff options
context:
space:
mode:
authorEvgeny Vereshchagin <evvers@ya.ru>2020-06-11 14:16:44 +0300
committerGitHub <noreply@github.com>2020-06-11 14:16:44 +0300
commit119111645be4a0c220672545111136cce87c802f (patch)
treef2d4b772185cd9df2f6ffcac2eba746044924743 /travis-ci
parent241616d57dd8860f8fdcb00c97b093014e6565b3 (diff)
parent35cd3db4e50d1733741c3ea7df54baefb1559ac4 (diff)
downloadsystemd-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-xtravis-ci/managers/ubuntu-build-check.sh93
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