From 1af345d22223e4c033906ec55a709ccf4d593af7 Mon Sep 17 00:00:00 2001 From: William Roberts Date: Thu, 11 Jun 2020 12:30:39 -0500 Subject: [PATCH] ci: dont use hardcoded project name Not everyone's github project is "selinux" so use the projects name, as derived from TRAVIS_BUILD_DIR. TRAVIS_BUILD_DIR is the absolute path to the project checkout on disk, so the basename should be sufficient. The script that runs in the KVM environment also needs to be updated where it can find the selinux project code, so we pass it in through an env variable in the ssh command. Tested on Travis CI here: - https://travis-ci.org/github/williamcroberts/selinux/jobs/697307824 Signed-off-by: William Roberts Acked-by: Petr Lautrbach --- scripts/ci/fedora-test-runner.sh | 10 ++++++++-- scripts/ci/travis-kvm-setup.sh | 6 ++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/scripts/ci/fedora-test-runner.sh b/scripts/ci/fedora-test-runner.sh index 0927ed5d..56972338 100755 --- a/scripts/ci/fedora-test-runner.sh +++ b/scripts/ci/fedora-test-runner.sh @@ -2,6 +2,12 @@ set -ev +# +# We expect this to be set in the environment, but if it's not, most selinux projects +# just have the same name as upstream, so choose that. +# +export SELINUX_DIR="${SELINUX_DIR:-/root/selinux}" + # CI Debug output if things go squirrely. getenforce id -Z @@ -58,7 +64,7 @@ dnf install -y \ # # Move to selinux code and build # -cd "$HOME/selinux" +cd "$SELINUX_DIR" # Show HEAD commit for sanity checking git log -1 @@ -71,7 +77,7 @@ make -j"$(nproc)" LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install-pywrap make -j"$(nproc)" LIBDIR=/usr/lib64 SHLIBDIR=/lib64 relabel # -# Get the selinux testsuite, but don't clone it in $HOME/selinux, move to $HOME +# Get the selinux testsuite, but don't clone it in selinux git directory, move to $HOME # first. # cd "$HOME" diff --git a/scripts/ci/travis-kvm-setup.sh b/scripts/ci/travis-kvm-setup.sh index 864dbac9..8d4cfb79 100755 --- a/scripts/ci/travis-kvm-setup.sh +++ b/scripts/ci/travis-kvm-setup.sh @@ -118,8 +118,10 @@ fi # # Great we have a host running, ssh into it. We specify -o so # we don't get blocked on asking to add the servers key to -# our known_hosts. +# our known_hosts. Also, we need to forward the project directory +# so forks know where to go. # -ssh -tt -o StrictHostKeyChecking=no -o LogLevel=QUIET "root@$ipaddy" "/root/selinux/$TEST_RUNNER" +project_dir="$(basename "$TRAVIS_BUILD_DIR")" +ssh -tt -o StrictHostKeyChecking=no -o LogLevel=QUIET "root@$ipaddy" "SELINUX_DIR=/root/$project_dir /root/$project_dir/$TEST_RUNNER" exit 0