Skip to content
Snippets Groups Projects
Commit 60c55885 authored by James Browning's avatar James Browning
Browse files

Add scheduled options-tester using CI runners

parent 872d52cd
No related branches found
No related tags found
1 merge request!1081Add scheduled options-tester using CI runners
Pipeline #120252473 failed
......@@ -22,6 +22,7 @@ pages:
include:
- template: Code-Quality.gitlab-ci.yml
- template: SAST.gitlab-ci.yml
- local: '.gitlab-opttest-ci.yml'
.job_template: &job_definition
stage: build
......@@ -557,7 +558,7 @@ coverity-scan:
tags:
- ubuntu-1604-lts
only:
- schedules
- schedules AND branches@NTPsec/ntpsec
macos-basic:
<<: *job_definition
......
.option_tester: &option_tester
stage: test
after_script:
- PYTHON=python2 bash tests/option-tester.sh
- PYTHON=python3 bash tests/option-tester.sh
tags:
- gitlab-org
only:
- schedules
alpine-edge-options-tester:
<<: *option_tester
image: alpine:edge
script:
- apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev python3-dev asciidoc libseccomp-dev bash
alpine-options-tester:
<<: *option_tester
image: alpine
script:
- apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python2-dev python3-dev asciidoc libseccomp-dev bash
centos-options-tester:
<<: *option_tester
image: centos:latest
script:
- dnf -y --enablerepo=PowerTools install bison gcc openssl-devel libcap-devel python3-devel python2-devel pps-tools-devel libseccomp-devel bash
fedora-latest-options-tester:
image: fedora:latest
script:
- yum -y install bison gcc openssl-devel libcap-devel pps-tools-devel python3-devel python2-devel libseccomp-devel bash
<<: *option_tester
fedora-rawhide-options-tester:
image: registry.fedoraproject.org/fedora:rawhide
script:
- yum -y install bison gcc openssl-devel libcap-devel pps-tools-devel python3-devel python2-devel libseccomp-devel bash
<<: *option_tester
opensuse-leap-options-tester:
<<: *option_tester
image: opensuse/leap
script:
- zypper -n install bison gcc libopenssl-devel libcap-devel pps-tools-devel python-devel python-curses libseccomp-devel python3-devel python3-curses bash
opensuse-tumbleweed-options-tester:
<<: *option_tester
image: opensuse/tumbleweed
script:
- zypper -n install bison gcc libopenssl-devel libcap-devel pps-tools-devel python-devel python-curses libseccomp-devel python3-devel python3-curses bash
gentoo-options-tester:
<<: *option_tester
image: gentoo/stage3-amd64
script:
- emerge-webrsync
- emerge -q y sys-libs/libcap sys-devel/bison net-misc/pps-tools app-text/asciidoc sys-libs/libseccomp app-shells/bash
gentoo-hardened-options-tester:
<<: *option_tester
image: gentoo/stage3-amd64-hardened
script:
- emerge-webrsync
- emerge -q y sys-libs/libcap sys-devel/bison net-misc/pps-tools app-text/asciidoc sys-libs/libseccomp app-shells/bash
macos-options-tester:
stage: test
script:
- PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig PYTHON=python2 tests/option-tester.sh
- PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig PYTHON=python3 tests/option-tester.sh
tags:
- macos
only:
- branches@NTPsec/ntpsec AND schedules
fbsd-11-options-tester:
stage: test
script:
- PYTHON=python2 tests/option-tester.sh
- PYTHON=python3 tests/option-tester.sh
tags:
- freebsd-11
only:
- branches@NTPsec/ntpsec AND schedules
fbsd-12-options-tester:
stage: test
script:
- PYTHON=python2 tests/option-tester.sh
- PYTHON=python3 tests/option-tester.sh
tags:
- freebsd-11
only:
- branches@NTPsec/ntpsec AND schedules
.deb_option_tester: &deb_option_tester
stage: test
script:
- apt-get update
- apt-get install -y netbase bison gcc libssl-dev libcap-dev pps-tools python2.7-dev libseccomp-dev bash pkg-config python3-dev
- PYTHON=python2 bash tests/option-tester.sh
- PYTHON=python3 bash tests/option-tester.sh
tags:
- gitlab-org
only:
- schedules
debian-i386-options-tester:
image: i386/debian:stable-slim
<<: *deb_option_tester
debian-oldstable-options-tester:
image: debian:oldstable-slim
<<: *deb_option_tester
debian-stable-options-tester:
image: debian:stable-slim
<<: *deb_option_tester
debian-testing-options-tester:
image: debian:testing-slim
<<: *deb_option_tester
debian-unstable-options-tester:
image: debian:unstable-slim
<<: *deb_option_tester
ubuntu-devel-options-tester:
image: ubuntu:devel
<<: *deb_option_tester
ubuntu-latest-options-tester:
image: ubuntu:latest
<<: *deb_option_tester
ubuntu-rolling-options-tester:
image: ubuntu:rolling
<<: *deb_option_tester
......@@ -10,43 +10,59 @@
# set pipefail to catch pipeline failures
# Unfortunately, it doesn't work on some older sh-es
if /bin/sh -c "set -o pipefail" 2> /dev/null
if (set -o pipefail) 2>/dev/null
then
set -o pipefail
fi
PURGE=""
SECCOMP="$(pkg-config libseccomp --variable=includedir)"
SECCOMP="$SECCOMP/seccomp.h"
LINUX=""
if [ `uname -s` = "Linux" -a -f /usr/include/seccomp.h ]
if [ `uname -s` = "Linux" -a -n "$SECCOMP" -a -f "$SECCOMPH" ]
then
# Not supported on CentOS 6
LINUX="--enable-seccomp"
fi
if [ -z ${PYTHON} ]
then
PYTHON="python"
fi
doit ()
{
DIR=test-$1
[ ! -d $DIR ] && mkdir $DIR
rm -rf $DIR/*
./waf configure --out=$DIR $2 2>&1 | tee $DIR/test.log
$PYTHON ./waf configure --out=$DIR $2 2>&1 | tee $DIR/test.log
WAF1=$?
WAF2=0
WAF3=0
if [ "$WAF1" = 0 ]
then
echo 2>&1 | tee -a $DIR/test.log
./waf build 2>&1 | tee -a $DIR/test.log
echo 2>&1 | tee -a $DIR/test.log
$PYTHON ./waf build 2>&1 | tee -a $DIR/test.log
WAF2=$?
if [ "$WAF2" = 0 ]
then
echo 2>&1 | tee -a $DIR/test.log
./waf check 2>&1 | tee -a $DIR/test.log
echo 2>&1 | tee -a $DIR/test.log
$PYTHON ./waf check 2>&1 | tee -a $DIR/test.log
WAF3=$?
else
PURGE="${PURGE} ${PYTHON}-${DIR}-build"
fi
else
PURGE="${PURGE} ${PYTHON}-${DIR}-config"
fi
if [ "$WAF1" != 0 -o "$WAF2" != 0 -o "$WAF3" != 0 ]
then
echo 2>&1 | tee -a $DIR/test.log
echo "Trouble with $DIR" 2>&1 | tee -a $DIR/test.log
fi
if [ "$WAF1" != 0 -o "$WAF2" != 0 -o "$WAF3" != 0 ]
if [ "$WAF3" != 0 ]
then
echo 2>&1 | tee -a $DIR/test.log
echo "Trouble with $DIR" 2>&1 | tee -a $DIR/test.log
PURGE="${PURGE} ${PYTHON-}${DIR}3-check"
fi
echo
echo
......@@ -77,24 +93,30 @@ grep "The configuration failed" test*/test.log
grep ^Trouble test*/test.log
echo
echo -n "## "; python --version
echo -n "## "; $PYTHON --version
if test -n "$PYTHONPATH"
then
echo "## PYTHONPATH is" \"$PYTHONPATH\"
fi
if ! /bin/sh -c "set -o pipefail" 2> /dev/null
if (set -o pipefail) 2>/dev/null
then
echo "### Old sh - no pipefail"
echo "### We can't test for errors during build"
echo "### You will have to scan the log files."
PURGE="${PURGE} pipefail"
fi
if [ `uname -s` = "Linux" -a ! -f /usr/include/seccomp.h ]
if [ `uname -s` = "Linux" -a -z "$SECCOMP" ]
then
echo
echo "### Warning: Missing seccomp.h (on a Linux system)"
echo
PURGE="${PURGE} seccomp"
fi
if [ -n "$PURGE" ]
then
echo "## errors encountered during execution:${PURGE}"
exit 1
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment