Merge pull request #149 from evamvak-source/configuration-modules-gri… #27
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run Tests | |
on: [push, pull_request] | |
jobs: | |
runtests: | |
runs-on: ubuntu-latest | |
container: centos:7 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Determine hash for caching key | |
id: cachekeystep | |
run: echo "pomcachekey=${{ hashFiles('**/pom.xml') }}" >> $GITHUB_ENV | |
- name: set up dependencies | |
run: | | |
yum -y install epel-release http://yum.quattor.org/devel/quattor-release-1-1.noarch.rpm | |
# The available version of perl-Test-Quattor is too old for mvnprove.pl to | |
# work, but this is a quick way of pulling in a lot of required dependencies. | |
# Surprisingly `which` is not installed by default and panc depends on it. | |
# libselinux-utils is required for /usr/sbin/selinuxenabled | |
yum install -y maven perl-Test-Quattor which panc aii-ks ncm-lib-blockdevices \ | |
ncm-ncd git libselinux-utils sudo perl-Crypt-OpenSSL-X509 \ | |
perl-Data-Compare perl-Date-Manip perl-File-Touch perl-JSON-Any \ | |
perl-Net-DNS perl-Net-FreeIPA perl-Net-OpenNebula \ | |
perl-Net-OpenStack-Client perl-NetAddr-IP perl-REST-Client \ | |
perl-Set-Scalar perl-Text-Glob cpanminus gcc wget | |
#perl-Git-Repository perl-Data-Structure-Util | |
# Hack around the two missing Perl rpms for ncm-ceph | |
cpanm install Git::Repository Data::Structure::Util | |
- name: set up template library core from git master | |
run: | | |
cd /tmp | |
# install library core in /tmp, tests need it | |
wget -O template-library-core-master.tar.gz https://codeload.github.com/quattor/template-library-core/tar.gz/master | |
tar -xvzf template-library-core-master.tar.gz | |
cd - | |
- name: Cache Maven packages | |
uses: actions/cache@v3 | |
with: | |
path: /tmp/m2 | |
key: ${{ runner.os }}-m2-${{ env.pomcachekey }} | |
restore-keys: ${{ runner.os }}-m2- | |
- name: run tests | |
run: | | |
# make sure it exists before chown | |
mkdir -p /tmp/m2 | |
chown -R nobody:nobody . /tmp/m2 | |
# we have to run as a non-root user to pass the spma tests | |
# secondly, we first download all maven dependencies and then run the tests because it fails with hanging downloads otherwise. | |
runuser --shell /bin/bash --preserve-environment --command "source /usr/bin/mvn_test.sh && mvn_run \"dependency:resolve $MVN_ARGS\" && mvn_test" nobody | |
env: | |
QUATTOR_TEST_TEMPLATE_LIBRARY_CORE: /tmp/template-library-core-master | |
MVN_ARGS: -Dmaven.repo.local=/tmp/m2 |