variables: PYPI_USER: SECURE PYPI_PASSWORD: SECURE GIT_SUBMODULE_STRATEGY: recursive stages: - build - test - deploy - clean build:prrt: stage: build tags: - cmake artifacts: name: "$CI_BUILD_REF_NAME$" untracked: true expire_in: "1h" script: - rm -vf ~/.pypirc - which cmake - which gcc - which g++ - pip3 list --format=legacy | grep Cython - pip3 list --format=legacy | grep numpy - CC=gcc-5 CXX=g++-5 cmake . -DPRRT_TESTS=1 - make build:container: stage: build tags: - docker script: - export DOCKER_TAG=$(echo "$CI_BUILD_REF_NAME" | sed 's#/#_#' | sed 's#^master$#latest#') - docker build -t $CI_REGISTRY_IMAGE:$DOCKER_TAG --build-arg http_proxy=http://www-proxy.uni-saarland.de:3128 -f docker/Dockerfile . - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY - docker push $CI_REGISTRY_IMAGE:$DOCKER_TAG - docker rmi $CI_REGISTRY_IMAGE:$DOCKER_TAG build:container_tcp: stage: build tags: - docker script: - export DOCKER_TAG=$(echo "$CI_BUILD_REF_NAME""_tcp" | sed 's#/#_#' | sed 's#^master$#latest#') - docker build -t $CI_REGISTRY_IMAGE:$DOCKER_TAG --build-arg http_proxy=http://www-proxy.uni-saarland.de:3128 -f docker/Dockerfile_tcp . - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY - docker push $CI_REGISTRY_IMAGE:$DOCKER_TAG - docker rmi $CI_REGISTRY_IMAGE:$DOCKER_TAG test:prrt_mem: stage: test dependencies: - build:prrt tags: - valgrind script: - bash tests/memtest.sh test:prrt_functional: stage: test dependencies: - build:prrt tags: - bash script: - exec ./prrtTests test:prrt_python_bindings: stage: test tags: - bash - python3 script: - sh tests/build.sh deploy:pypi: stage: deploy tags: - python3 script: - echo "[distutils]" >> ~/.pypirc - echo "index-servers =" >> ~/.pypirc - echo " on" >> ~/.pypirc - echo " " >> ~/.pypirc - echo "[on]" >> ~/.pypirc - echo "repository=http://git.nt.uni-saarland.de:5678" >> ~/.pypirc - echo "username=$PYPI_USER" >> ~/.pypirc - echo "password=$PYPI_PASSWORD" >> ~/.pypirc - python3 setup.py check sdist bdist upload -r on - rm -vf ~/.pypirc deploy:profile: stage: deploy tags: - gprof script: - ls -lahv - rm CMakeCache.txt - CC=gcc-5 CXX=g++-5 cmake . -DGPROF=1 - make - bash profiling/profile.sh artifacts: paths: - gprof-send.txt - gprof-recv.txt expire_in: 30 days