From 78668fd3d1789ce7d9c7a469dd608e51c45ba386 Mon Sep 17 00:00:00 2001 From: SalatskySal Date: Tue, 3 Mar 2020 13:45:26 +0100 Subject: [PATCH 1/2] Use podman as testing container engine Add an ENGINE env var to set the container engine to be used to run the test suite. Set podman as the default engine and keep the CI running on docker. Signed-off-by: Salatskyi Serhii --- .travis.yml | 6 ++++++ test.sh | 16 +++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index e114fd8..2d175ca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,22 +8,28 @@ env: OS=fedora OS_VERSION=29 PYTHON_VERSION=2 + ENGINE=docker - ACTION=bandit OS=fedora OS_VERSION=29 PYTHON_VERSION=3 + ENGINE=docker - OS=centos OS_VERSION=7 PYTHON_VERSION=2 + ENGINE=docker - OS=fedora OS_VERSION=29 PYTHON_VERSION=2 + ENGINE=docker - OS=fedora OS_VERSION=29 PYTHON_VERSION=3 + ENGINE=docker - OS=fedora OS_VERSION=30 PYTHON_VERSION=3 + ENGINE=docker script: - pip install coveralls - ./test.sh diff --git a/test.sh b/test.sh index f1c1c22..9f7fd30 100755 --- a/test.sh +++ b/test.sh @@ -2,14 +2,16 @@ set -eux # Prepare env vars +ENGINE=${ENGINE:="podman"} OS=${OS:="centos"} OS_VERSION=${OS_VERSION:="7"} PYTHON_VERSION=${PYTHON_VERSION:="2"} ACTION=${ACTION:="test"} IMAGE="$OS:$OS_VERSION" -docker_mounts="-v $PWD:$PWD:z" +# Use arrays to prevent globbing and word splitting +engine_mounts=(-v "$PWD":"$PWD":z) for dir in ${EXTRA_MOUNT:-}; do - docker_mounts="${docker_mounts} -v $dir:$dir:z" + engine_mounts=("${engine_mounts[@]}" -v "$dir":"$dir":z) done # Pull fedora images from registry.fedoraproject.org @@ -19,7 +21,7 @@ fi CONTAINER_NAME="dockerfile-parse-$OS-$OS_VERSION-py$PYTHON_VERSION" -RUN="docker exec -ti $CONTAINER_NAME" +RUN="$ENGINE exec -ti $CONTAINER_NAME" if [[ $OS == "fedora" ]]; then PIP_PKG="python$PYTHON_VERSION-pip" PIP="pip$PYTHON_VERSION" @@ -37,11 +39,11 @@ else fi # Create or resurrect container if needed -if [[ $(docker ps -qa -f name=$CONTAINER_NAME | wc -l) -eq 0 ]]; then - docker run --name $CONTAINER_NAME -d $docker_mounts -w $PWD -ti $IMAGE sleep infinity -elif [[ $(docker ps -q -f name=$CONTAINER_NAME | wc -l) -eq 0 ]]; then +if [[ $($ENGINE ps -qa -f name="$CONTAINER_NAME" | wc -l) -eq 0 ]]; then + $ENGINE run --name "$CONTAINER_NAME" -d "${engine_mounts[@]}" -w "$PWD" -ti "$IMAGE" sleep infinity +elif [[ $($ENGINE ps -q -f name="$CONTAINER_NAME" | wc -l) -eq 0 ]]; then echo found stopped existing container, restarting. volume mounts cannot be updated. - docker container start $CONTAINER_NAME + $ENGINE container start "$CONTAINER_NAME" fi # Install dependencies From 36cd1a2aff58b935b26a3aee0d8193b830900f93 Mon Sep 17 00:00:00 2001 From: SalatskySal Date: Tue, 3 Mar 2020 13:47:30 +0100 Subject: [PATCH 2/2] Change travis for working with Fedora 31 *OSBS-8649 Deprecated Fedora 29 added Fedora 31 replaced with CentOS for Bandit Signed-off-by: Salatskyi Serhii --- .travis.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2d175ca..eac0d49 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,13 +5,13 @@ services: env: matrix: - ACTION=bandit - OS=fedora - OS_VERSION=29 + OS=centos + OS_VERSION=7 PYTHON_VERSION=2 ENGINE=docker - ACTION=bandit OS=fedora - OS_VERSION=29 + OS_VERSION=31 PYTHON_VERSION=3 ENGINE=docker - OS=centos @@ -19,15 +19,11 @@ env: PYTHON_VERSION=2 ENGINE=docker - OS=fedora - OS_VERSION=29 - PYTHON_VERSION=2 - ENGINE=docker - - OS=fedora - OS_VERSION=29 + OS_VERSION=30 PYTHON_VERSION=3 ENGINE=docker - OS=fedora - OS_VERSION=30 + OS_VERSION=31 PYTHON_VERSION=3 ENGINE=docker script: