diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..046a8f650429edaef7615b7362723693ca2e5c7c --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,50 @@ +# CI Config for ltaftpy / gitlab +stages: + - build + - test + +# Global runner/docker image definition +image: ubuntu:latest + +# Global caching +cache: + key: "cache" + paths: +# apt + - apt-cache +# +# build + - build + +before_script: + - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR + - export SITE_PACKAGES=`pwd`/site_packages && mkdir -pv $SITE_PACKAGES + - export PYTHONPATH=$PYTHONPATH:$SITE_PACKAGES + - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y cmake libfftw3-dev + - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y liblapack-dev python3.6 python3.6-dev python3-pip + - pip3 install --target=$SITE_PACKAGES scipy matplotlib nose coverage + +# Main build +build: + stage: build + tags: + - docker + script: + - pip3 install --target=$SITE_PACKAGES -e . + +# Tests +test: + stage: test + tags: + - docker + dependencies: + - build + script: + - nosetests + artifacts: + paths: + # Tests report + - build/nosetests.xml + # Tests coverage report + - build/htmlcov/ + expire_in: 8d \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 9af616e761f779da81a670a17e14a86457b08e27..f7fb1ae830b49eee63d44751070caf53dca79d84 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,11 +1,13 @@ [nosetests] #verbosity=1 where=./ltfatpy +with-xunit=1 +xunit-file=./build/nosetests.xml with-coverage=1 cover-package=ltfatpy cover-erase=1 cover-html=1 -cover-html-dir=../htmlcov +cover-html-dir=../build/htmlcov [pytest] # Specifies a minimal pytest version required for running tests. @@ -19,4 +21,5 @@ norecursedirs = .git bin build cmake-modules ltfat_C_kernel sandboxes .settings source=./ltfatpy omit = ./ltfatpy/tests/* [coverage html] -directory=../htmlcov \ No newline at end of file +directory=../build/htmlcov +